Skip to content

Commit

Permalink
Update to Plaid v1.496.0
Browse files Browse the repository at this point in the history
  • Loading branch information
viceroypenguin committed Feb 15, 2024
1 parent e0b863f commit 445f950
Show file tree
Hide file tree
Showing 46 changed files with 693 additions and 33 deletions.
2 changes: 1 addition & 1 deletion plaid-openapi
Submodule plaid-openapi updated 2 files
+551 −26 2020-09-14.yml
+26 −0 CHANGELOG.md
14 changes: 14 additions & 0 deletions src/Plaid/Cra/CraPartnerInsightsGetRequest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace Going.Plaid.Cra;

/// <summary>
/// <para>CraPartnerInsightsGetRequest defines the request schema for <c>/cra/partner_insights/get</c>.</para>
/// </summary>
public partial class CraPartnerInsightsGetRequest : RequestBase
{
/// <summary>
/// <para>The user token associated with the User data is being requested for.</para>
/// </summary>
[JsonPropertyName("user_token")]
public string? UserToken { get; set; } = default!;

}
14 changes: 14 additions & 0 deletions src/Plaid/Cra/CraPartnerInsightsGetResponse.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace Going.Plaid.Cra;

/// <summary>
/// <para>CraPartnerInsightsGetResponse defines the response schema for <c>/cra/partner_insights/get</c>.</para>
/// </summary>
public record CraPartnerInsightsGetResponse : ResponseBase
{
/// <summary>
///
/// </summary>
[JsonPropertyName("report")]
public IReadOnlyList<Entity.CraPartnerInsights>? Report { get; init; } = default!;

}
8 changes: 8 additions & 0 deletions src/Plaid/Cra/PlaidClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,12 @@ public sealed partial class PlaidClient
PostAsync("/cra/bank_income/get", request)
.ParseResponseAsync<Cra.CraBankIncomeGetResponse>();

/// <summary>
/// <para><c>/cra/partner_insights/get</c> returns cash flow insights for a specified user.</para>
/// </summary>
/// <remarks><see href="https://plaid.com/docs/api/products/income/#crapartner_insightsget" /></remarks>
public Task<Cra.CraPartnerInsightsGetResponse> CraPartnerInsightsGetAsync(Cra.CraPartnerInsightsGetRequest request) =>
PostAsync("/cra/partner_insights/get", request)
.ParseResponseAsync<Cra.CraPartnerInsightsGetResponse>();

}
6 changes: 6 additions & 0 deletions src/Plaid/Entity/Account.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,12 @@ public record Account
[JsonPropertyName("verification_status")]
public Entity.AccountVerificationStatusEnum? VerificationStatus { get; init; } = default!;

/// <summary>
/// <para>Insights from performing database verification for the account.</para>
/// </summary>
[JsonPropertyName("verification_insights")]
public Entity.VerificationInsights? VerificationInsights { get; init; } = default!;

/// <summary>
/// <para>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 only supported for Chase Items. Because Chase accounts have a different account number each time they are linked, this field may be instead of the account number to uniquely identify a Chase account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud.</para>
/// </summary>
Expand Down
6 changes: 6 additions & 0 deletions src/Plaid/Entity/AccountIdentity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,12 @@ public record AccountIdentity
[JsonPropertyName("verification_status")]
public Entity.AccountIdentityVerificationStatusEnum? VerificationStatus { get; init; } = default!;

/// <summary>
/// <para>Insights from performing database verification for the account.</para>
/// </summary>
[JsonPropertyName("verification_insights")]
public Entity.VerificationInsights? VerificationInsights { get; init; } = default!;

/// <summary>
/// <para>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 only supported for Chase Items. Because Chase accounts have a different account number each time they are linked, this field may be instead of the account number to uniquely identify a Chase account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud.</para>
/// </summary>
Expand Down
6 changes: 6 additions & 0 deletions src/Plaid/Entity/AccountIdentityMatchScore.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,12 @@ public record AccountIdentityMatchScore
[JsonPropertyName("verification_status")]
public Entity.AccountIdentityMatchScoreVerificationStatusEnum? VerificationStatus { get; init; } = default!;

/// <summary>
/// <para>Insights from performing database verification for the account.</para>
/// </summary>
[JsonPropertyName("verification_insights")]
public Entity.VerificationInsights? VerificationInsights { get; init; } = default!;

/// <summary>
/// <para>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 only supported for Chase Items. Because Chase accounts have a different account number each time they are linked, this field may be instead of the account number to uniquely identify a Chase account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud.</para>
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,24 @@ public enum AccountIdentityMatchScoreVerificationStatusEnum
[EnumMember(Value = "database_matched")]
DatabaseMatched,

/// <summary>
/// <para>The Item's ACH numbers have been verified using Plaid's data sources and have strong signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// </summary>
[EnumMember(Value = "database_insights_pass")]
DatabaseInsightsPass,

/// <summary>
/// <para>The Item's ACH numbers have been verified using Plaid's data sources and have some signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// </summary>
[EnumMember(Value = "database_insights_pass_with_caution")]
DatabaseInsightsPassWithCaution,

/// <summary>
/// <para>The Item's ACH numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// </summary>
[EnumMember(Value = "database_insights_fail")]
DatabaseInsightsFail,

/// <summary>
/// <para>Catch-all for unknown values returned by Plaid. If you encounter this, please check if there is a later version of the Going.Plaid library.</para>
/// </summary>
Expand Down
18 changes: 18 additions & 0 deletions src/Plaid/Entity/AccountIdentityVerificationStatusEnum.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,24 @@ public enum AccountIdentityVerificationStatusEnum
[EnumMember(Value = "database_matched")]
DatabaseMatched,

/// <summary>
/// <para>The Item's ACH numbers have been verified using Plaid's data sources and have strong signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// </summary>
[EnumMember(Value = "database_insights_pass")]
DatabaseInsightsPass,

/// <summary>
/// <para>The Item's ACH numbers have been verified using Plaid's data sources and have some signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// </summary>
[EnumMember(Value = "database_insights_pass_with_caution")]
DatabaseInsightsPassWithCaution,

/// <summary>
/// <para>The Item's ACH numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// </summary>
[EnumMember(Value = "database_insights_fail")]
DatabaseInsightsFail,

/// <summary>
/// <para>Catch-all for unknown values returned by Plaid. If you encounter this, please check if there is a later version of the Going.Plaid library.</para>
/// </summary>
Expand Down
18 changes: 18 additions & 0 deletions src/Plaid/Entity/AccountVerificationStatusEnum.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,24 @@ public enum AccountVerificationStatusEnum
[EnumMember(Value = "database_matched")]
DatabaseMatched,

/// <summary>
/// <para>The Item's ACH numbers have been verified using Plaid's data sources and have strong signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// </summary>
[EnumMember(Value = "database_insights_pass")]
DatabaseInsightsPass,

/// <summary>
/// <para>The Item's ACH numbers have been verified using Plaid's data sources and have some signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// </summary>
[EnumMember(Value = "database_insights_pass_with_caution")]
DatabaseInsightsPassWithCaution,

/// <summary>
/// <para>The Item's ACH numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// </summary>
[EnumMember(Value = "database_insights_fail")]
DatabaseInsightsFail,

/// <summary>
/// <para>Catch-all for unknown values returned by Plaid. If you encounter this, please check if there is a later version of the Going.Plaid library.</para>
/// </summary>
Expand Down
32 changes: 32 additions & 0 deletions src/Plaid/Entity/CraPartnerInsights.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>The partner insights report of the bank data for an end user.</para>
/// </summary>
public record CraPartnerInsights
{
/// <summary>
/// <para>A unique identifier associated with the Partner Insights object.</para>
/// </summary>
[JsonPropertyName("report_id")]
public string? ReportId { get; init; } = default!;

/// <summary>
/// <para>The time when the partner insights report was generated.</para>
/// </summary>
[JsonPropertyName("generated_time")]
public DateTimeOffset? GeneratedTime { get; init; } = default!;

/// <summary>
/// <para>The Prism insights for the user.</para>
/// </summary>
[JsonPropertyName("prism")]
public Entity.CraPartnerInsightsPrism? Prism { get; init; } = default!;

/// <summary>
/// <para>The list of Items used in the report along with the associated metadata about the Item.</para>
/// </summary>
[JsonPropertyName("items")]
public IReadOnlyList<Entity.CraPartnerInsightsItem>? Items { get; init; } = default!;

}
32 changes: 32 additions & 0 deletions src/Plaid/Entity/CraPartnerInsightsItem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>The details and metadata for an end user's Item.</para>
/// </summary>
public record CraPartnerInsightsItem
{
/// <summary>
/// <para>The ID for the institution that the user linked.</para>
/// </summary>
[JsonPropertyName("institution_id")]
public string? InstitutionId { get; init; } = default!;

/// <summary>
/// <para>The name of the institution the user linked.</para>
/// </summary>
[JsonPropertyName("institution_name")]
public string? InstitutionName { get; init; } = default!;

/// <summary>
/// <para>The identifier for the item.</para>
/// </summary>
[JsonPropertyName("item_id")]
public string? ItemId { get; init; } = default!;

/// <summary>
/// <para>A list of accounts in the item</para>
/// </summary>
[JsonPropertyName("accounts")]
public IReadOnlyList<Entity.CraPartnerInsightsItemAccount>? Accounts { get; init; } = default!;

}
46 changes: 46 additions & 0 deletions src/Plaid/Entity/CraPartnerInsightsItemAccount.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Account data corresponding to the item from which Partner Insights were generated from</para>
/// </summary>
public record CraPartnerInsightsItemAccount
{
/// <summary>
/// <para>The last 2-4 alphanumeric characters of an account's official account number.</para>
/// <para>Note that the mask may be non-unique between an Item's accounts, and it may also</para>
/// <para>not match the mask that the bank displays to the user.</para>
/// </summary>
[JsonPropertyName("mask")]
public string? Mask { get; init; } = default!;

/// <summary>
/// <para>The name of the account</para>
/// </summary>
[JsonPropertyName("name")]
public string Name { get; init; } = default!;

/// <summary>
/// <para>The official name of the bank account.</para>
/// </summary>
[JsonPropertyName("official_name")]
public string? OfficialName { get; init; } = default!;

/// <summary>
/// <para>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).</para>
/// </summary>
[JsonPropertyName("subtype")]
public Entity.DepositoryAccountSubtype Subtype { get; init; } = default!;

/// <summary>
/// <para>The account type. This will always be <c>depository</c>.</para>
/// </summary>
[JsonPropertyName("type")]
public Entity.CreditBankIncomeAccountType Type { get; init; } = default!;

/// <summary>
/// <para>Data returned by the financial institution about the account owner or owners. Identity information is optional, so field may return an empty array.</para>
/// </summary>
[JsonPropertyName("owners")]
public IReadOnlyList<Entity.Owner> Owners { get; init; } = default!;

}
32 changes: 32 additions & 0 deletions src/Plaid/Entity/CraPartnerInsightsPrism.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>The Prism insights for the user.</para>
/// </summary>
public record CraPartnerInsightsPrism
{
/// <summary>
/// <para>The data from the Insights product returned by Prism.</para>
/// </summary>
[JsonPropertyName("insights")]
public Entity.PrismInsights? Insights { get; init; } = default!;

/// <summary>
/// <para>The data from the Cash Score product returned by Prism.</para>
/// </summary>
[JsonPropertyName("cash_score")]
public Entity.PrismCashScore? CashScore { get; init; } = default!;

/// <summary>
/// <para>The data from the Detect product returned by Prism.</para>
/// </summary>
[JsonPropertyName("detect")]
public Entity.PrismDetect? Detect { get; init; } = default!;

/// <summary>
/// <para>Details on whether the Prism attributes succeeded or failed to be generated.</para>
/// </summary>
[JsonPropertyName("status")]
public string Status { get; init; } = default!;

}
21 changes: 0 additions & 21 deletions src/Plaid/Entity/IdentityDocumentMetadata.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,12 @@ namespace Going.Plaid.Entity;
/// </summary>
public record IdentityDocumentMetadata
{
/// <summary>
/// <para>The name of the document.</para>
/// </summary>
[JsonPropertyName("name")]
public string? Name { get; init; } = default!;

/// <summary>
/// <para>Boolean field indicating if the uploaded document's account number matches the account number we have on file</para>
/// </summary>
[JsonPropertyName("is_account_number_match")]
public bool? IsAccountNumberMatch { get; init; } = default!;

/// <summary>
/// <para>The processing status of the document.</para>
/// <para><c>PROCESSING_COMPLETE</c>: The document was successfully processed.</para>
/// <para><c>DOCUMENT_ERROR</c>: 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.</para>
/// <para><c>UNKNOWN</c> or <c>null</c>: An internal error occurred. If this happens repeatedly, contact support or your Plaid account manager.</para>
/// </summary>
[JsonPropertyName("status")]
public string? Status { get; init; } = default!;

/// <summary>
///
/// </summary>
Expand All @@ -38,10 +23,4 @@ public record IdentityDocumentMetadata
[JsonPropertyName("uploaded_at")]
public DateTimeOffset? UploadedAt { get; init; } = default!;

/// <summary>
///
/// </summary>
[JsonPropertyName("page_count")]
public int? PageCount { get; init; } = default!;

}
18 changes: 18 additions & 0 deletions src/Plaid/Entity/LinkDeliveryVerificationStatus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,24 @@ public enum LinkDeliveryVerificationStatus
[EnumMember(Value = "database_matched")]
DatabaseMatched,

/// <summary>
///
/// </summary>
[EnumMember(Value = "database_insights_pass")]
DatabaseInsightsPass,

/// <summary>
///
/// </summary>
[EnumMember(Value = "database_insights_pass_with_caution")]
DatabaseInsightsPassWithCaution,

/// <summary>
///
/// </summary>
[EnumMember(Value = "database_insights_fail")]
DatabaseInsightsFail,

/// <summary>
/// <para>Catch-all for unknown values returned by Plaid. If you encounter this, please check if there is a later version of the Going.Plaid library.</para>
/// </summary>
Expand Down
3 changes: 3 additions & 0 deletions src/Plaid/Entity/LinkSessionSuccessMetadataAccount.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ public record LinkSessionSuccessMetadataAccount
/// <para><c>verification_expired</c>: 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.</para>
/// <para><c>verification_failed</c>: 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.</para>
/// <para><c>database_matched</c>: The Item has successfully been verified using Plaid's data sources. Note: Database Match is currently a beta feature, please contact your account manager for more information.</para>
/// <para><c>database_insights_pass</c>: The Item's ACH numbers have been verified using Plaid's data sources and have strong signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// <para><c>database_insights_pass_with_caution</c>: The Item's ACH numbers have been verified using Plaid's data sources and have some signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// <para><c>database_insights_fail</c>: The Item's ACH numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Note: Database Insights is currently a beta feature, please contact your account manager for more information.</para>
/// <para><c>null</c>: micro-deposit-based verification is not being used for the Item.</para>
/// </summary>
[JsonPropertyName("verification_status")]
Expand Down
6 changes: 6 additions & 0 deletions src/Plaid/Entity/LinkTokenCreateRequestAuth.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ public class LinkTokenCreateRequestAuth
[JsonPropertyName("database_match_enabled")]
public bool? DatabaseMatchEnabled { get; set; } = default!;

/// <summary>
/// <para>Specifies whether the Link session is enabled for the Database Insights flow.</para>
/// </summary>
[JsonPropertyName("database_insights_enabled")]
public bool? DatabaseInsightsEnabled { get; set; } = default!;

/// <summary>
/// <para>This field has been deprecated in favor of <c>auth_type_select_enabled</c>.</para>
/// </summary>
Expand Down
Loading

0 comments on commit 445f950

Please sign in to comment.