Skip to content

Commit

Permalink
Update to Plaid v1.575.0
Browse files Browse the repository at this point in the history
  • Loading branch information
viceroypenguin committed Oct 9, 2024
1 parent 0ca3eca commit 6eb644b
Show file tree
Hide file tree
Showing 171 changed files with 1,564 additions and 203 deletions.
2 changes: 1 addition & 1 deletion plaid-openapi
Submodule plaid-openapi updated 2 files
+1,487 −440 2020-09-14.yml
+151 −2 CHANGELOG.md
1 change: 1 addition & 0 deletions src/Plaid.OpenApiParser/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ private static string GetBasePath()
{
["ACHClass"] = "AchClass",
["APR"] = "Apr",
["Consented Data Scope"] = "ConsentedDataScope",
["ISOCurrencyCode"] = "IsoCurrencyCode",
["ISO Currency Code"] = "WalletIsoCurrencyCode",
["NumbersACH"] = "NumbersAch",
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Accounts/PlaidClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ public sealed partial class PlaidClient
{
/// <summary>
/// <para>The <c>/accounts/get</c> 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.</para>
/// <para>For items that went through the updated account selection pane, this endpoint only returns accounts that were permissioned by the user when they initially created the Item. If a user creates a new account after the initial link, you can capture this event through the <a href="https://plaid.com/docs/api/items/#new_accounts_available"><c>NEW_ACCOUNTS_AVAILABLE</c></a> webhook and then use Link's <a href="https://plaid.com/docs/link/update-mode/">update mode</a> to request that the user share this new account with you.</para>
/// <para>To return new accounts that were created after the user linked their Item, you can listen for the <a href="https://plaid.com/docs/api/items/#new_accounts_available"><c>NEW_ACCOUNTS_AVAILABLE</c></a> webhook and then use Link's <a href="https://plaid.com/docs/link/update-mode/">update mode</a> to request that the user share this new account with you.</para>
/// <para><c>/accounts/get</c> 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.</para>
/// <para>For realtime balance information, use the paid endpoint <c>/accounts/balance/get</c> instead.</para>
/// </summary>
Expand Down
8 changes: 8 additions & 0 deletions src/Plaid/Consent/ConsentEventsGetRequest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace Going.Plaid.Consent;

/// <summary>
/// <para>Request to list a historical log of item consent events.</para>
/// </summary>
public partial class ConsentEventsGetRequest : RequestBase
{
}
14 changes: 14 additions & 0 deletions src/Plaid/Consent/ConsentEventsGetResponse.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace Going.Plaid.Consent;

/// <summary>
/// <para>Describes a historical log of item consent events.</para>
/// </summary>
public record ConsentEventsGetResponse : ResponseBase
{
/// <summary>
/// <para>A list of consent events.</para>
/// </summary>
[JsonPropertyName("consent_events")]
public IReadOnlyList<Entity.ConsentEvent> ConsentEvents { get; init; } = default!;

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

public sealed partial class PlaidClient
{
/// <summary>
/// <para>List a historical log of item consent events</para>
/// </summary>
/// <remarks><see href="https://plaid.com/docs/api/consent/#consenteventsget" /></remarks>
public Task<Consent.ConsentEventsGetResponse> ConsentEventsGetAsync(Consent.ConsentEventsGetRequest request) =>
PostAsync("/consent/events/get", request)
.ParseResponseAsync<Consent.ConsentEventsGetResponse>();

}
1 change: 1 addition & 0 deletions src/Plaid/Converters/WebhookBaseConverter.Map.cs
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ public partial class WebhookBaseConverter : JsonConverter<WebhookBase>
[(WebhookType.Link, WebhookCode.SessionFinished)] = typeof(LinkSessionFinishedWebhook),
[(WebhookType.Auth, WebhookCode.SmsMicrodepositsVerification)] = typeof(HostedMMDVerificationWebhook),
[(WebhookType.DashboardConfiguredAlert, WebhookCode.InstitutionStatusAlertTriggered)] = typeof(InstitutionStatusAlertWebhook),
[(WebhookType.CraMonitoring, WebhookCode.InsightsUpdated)] = typeof(MonitoringInsightsWebhook),
[(WebhookType.Assets, WebhookCode.ProductReady)] = typeof(AssetsProductReadyWebhook),
[(WebhookType.Assets, WebhookCode.Error)] = typeof(AssetsErrorWebhook),
};
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Cra/CraBankIncomeCreateRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public partial class CraBankIncomeCreateRequest : RequestBase
public int? DaysRequested { get; set; } = default!;

/// <summary>
/// <para>This enum describes the reason you are generating a Consumer Report for this user.</para>
/// <para>Describes the reason you are generating a Consumer Report for this user.</para>
/// </summary>
[JsonPropertyName("consumer_report_permissible_purpose")]
public Entity.ConsumerReportPermissiblePurpose? ConsumerReportPermissiblePurpose { get; set; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Cra/CraBaseReportCreateRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public partial class CraBaseReportCreateRequest : RequestBase
public string? Webhook { get; set; } = default!;

/// <summary>
/// <para>This enum describes the reason you are generating a Consumer Report for this user.</para>
/// <para>Describes the reason you are generating a Consumer Report for this user.</para>
/// </summary>
[JsonPropertyName("consumer_report_permissible_purpose")]
public Entity.ConsumerReportPermissiblePurpose ConsumerReportPermissiblePurpose { get; set; } = default!;
Expand Down
8 changes: 7 additions & 1 deletion src/Plaid/Cra/CraCheckReportBaseReportGetRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,13 @@ public partial class CraCheckReportBaseReportGetRequest : RequestBase
/// <para>The user token associated with the User data is being requested for.</para>
/// </summary>
[JsonPropertyName("user_token")]
public string UserToken { get; set; } = default!;
public string? UserToken { get; set; } = default!;

/// <summary>
/// <para>The third-party user token associated with the requested User data.</para>
/// </summary>
[JsonPropertyName("third_party_user_token")]
public string? ThirdPartyUserToken { get; set; } = default!;

/// <summary>
/// <para>The item IDs to include in the Base Report. If not provided, all items associated with the user will be included.</para>
Expand Down
10 changes: 2 additions & 8 deletions src/Plaid/Cra/CraCheckReportCreateRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,13 @@ public partial class CraCheckReportCreateRequest : RequestBase
public string Webhook { get; set; } = default!;

/// <summary>
/// <para>The number of days of data to request for the report. If requesting Income Insights, a minimum of 90 days is recommended in order to receive both historical and forecasted income.</para>
/// <para>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.</para>
/// </summary>
[JsonPropertyName("days_requested")]
public int DaysRequested { get; set; } = default!;

/// <summary>
/// <para>Products that will be retrieved in this report. This configuration will determine what data types to fetch from the user's financial institution. If omitted, the data types needed to support all products will be fetched.</para>
/// </summary>
[JsonPropertyName("products")]
public IReadOnlyList<Entity.CraCheckReportProduct>? Products { get; set; } = default!;

/// <summary>
/// <para>This enum describes the reason you are generating a Consumer Report for this user.</para>
/// <para>Describes the reason you are generating a Consumer Report for this user.</para>
/// </summary>
[JsonPropertyName("consumer_report_permissible_purpose")]
public Entity.ConsumerReportPermissiblePurpose ConsumerReportPermissiblePurpose { get; set; } = default!;
Expand Down
8 changes: 7 additions & 1 deletion src/Plaid/Cra/CraCheckReportIncomeInsightsGetRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ public partial class CraCheckReportIncomeInsightsGetRequest : RequestBase
/// <para>The user token associated with the User data is being requested for.</para>
/// </summary>
[JsonPropertyName("user_token")]
public string UserToken { get; set; } = default!;
public string? UserToken { get; set; } = default!;

/// <summary>
/// <para>The third-party user token associated with the requested User data.</para>
/// </summary>
[JsonPropertyName("third_party_user_token")]
public string? ThirdPartyUserToken { get; set; } = default!;

}
8 changes: 7 additions & 1 deletion src/Plaid/Cra/CraCheckReportNetworkInsightsGetRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ public partial class CraCheckReportNetworkInsightsGetRequest : RequestBase
/// <para>The user token associated with the User data is being requested for.</para>
/// </summary>
[JsonPropertyName("user_token")]
public string UserToken { get; set; } = default!;
public string? UserToken { get; set; } = default!;

/// <summary>
/// <para>The third-party user token associated with the requested User data.</para>
/// </summary>
[JsonPropertyName("third_party_user_token")]
public string? ThirdPartyUserToken { get; set; } = default!;

}
8 changes: 7 additions & 1 deletion src/Plaid/Cra/CraCheckReportPartnerInsightsGetRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,13 @@ public partial class CraCheckReportPartnerInsightsGetRequest : RequestBase
/// <para>The user token associated with the User data is being requested for.</para>
/// </summary>
[JsonPropertyName("user_token")]
public string UserToken { get; set; } = default!;
public string? UserToken { get; set; } = default!;

/// <summary>
/// <para>The third-party user token associated with the requested User data.</para>
/// </summary>
[JsonPropertyName("third_party_user_token")]
public string? ThirdPartyUserToken { get; set; } = default!;

/// <summary>
/// <para>Defines configuration options to generate Partner Insights</para>
Expand Down
6 changes: 6 additions & 0 deletions src/Plaid/Cra/CraMonitoringInsightsGetRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,10 @@ public partial class CraMonitoringInsightsGetRequest : RequestBase
[JsonPropertyName("user_token")]
public string UserToken { get; set; } = default!;

/// <summary>
/// <para>Describes the reason you are generating a Consumer Report for this user.</para>
/// </summary>
[JsonPropertyName("consumer_report_permissible_purpose")]
public Entity.ConsumerReportPermissiblePurpose ConsumerReportPermissiblePurpose { get; set; } = default!;

}
3 changes: 2 additions & 1 deletion src/Plaid/Cra/PlaidClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,8 @@ public sealed partial class PlaidClient
.ParseResponseAsync<Cra.CraCheckReportBaseReportGetResponse>();

/// <summary>
/// <para><c>/cra/check_report/create</c> creates a Consumer Report powered by Plaid Check. Plaid Check automatically starts creating Consumer Report data after the user completes the Link process with a Plaid Check product, so you typically would only call this endpoint if you wish to generate an updated report, some time after the initial report was generated.</para>
/// <para><c>/cra/check_report/create</c> creates a Consumer Report powered by Plaid Check. You can call this endpoint to create a new report if <c>consumer_report_permissible_purpose</c> was omitted during Link token creation. If you did provide a <c>consumer_report_permissible_purpose</c> during Link token creation, then Plaid Check will automatically begin creating a Consumer Report once the user completes the Link process, and it is not necessary to call <c>/cra/check_report/create</c> before retrieving the report.</para>
/// <para> <c>/cra/check_report/create</c> can also be used to refresh data in an existing report. A Consumer Report will last for 24 hours before expiring; you should call any <c>/get</c> endpoints on the report before it expires. If a report expires, you can call <c>/cra/check_report/create</c> again to re-generate it. Note that refreshing or regenerating a report is a billable event."</para>
/// </summary>
/// <remarks><see href="https://plaid.com/docs/check/api/#cracheck_reportcreate" /></remarks>
public Task<Cra.CraCheckReportCreateResponse> CraCheckReportCreateAsync(Cra.CraCheckReportCreateRequest request) =>
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/DashboardUser/DashboardUserGetRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace Going.Plaid.DashboardUser;
public partial class DashboardUserGetRequest : RequestBase
{
/// <summary>
/// <para>ID of the associated user.</para>
/// <para>ID of the associated user. To retrieve the email address or other details of the person corresponding to this id, use <c>/dashboard_user/get</c>.</para>
/// </summary>
[JsonPropertyName("dashboard_user_id")]
public string DashboardUserId { get; set; } = default!;
Expand Down
4 changes: 2 additions & 2 deletions src/Plaid/DashboardUser/DashboardUserGetResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace Going.Plaid.DashboardUser;
public record DashboardUserGetResponse : ResponseBase
{
/// <summary>
/// <para>ID of the associated user.</para>
/// <para>ID of the associated user. To retrieve the email address or other details of the person corresponding to this id, use <c>/dashboard_user/get</c>.</para>
/// </summary>
[JsonPropertyName("id")]
public string Id { get; init; } = default!;
Expand All @@ -18,7 +18,7 @@ public record DashboardUserGetResponse : ResponseBase
public DateTimeOffset CreatedAt { get; init; } = default!;

/// <summary>
/// <para>A valid email address. Must not have leading or trailing spaces.</para>
/// <para>A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see <a href="https://datatracker.ietf.org/doc/html/rfc3696">RFC 3696</a>.</para>
/// </summary>
[JsonPropertyName("email_address")]
public string EmailAddress { get; init; } = default!;
Expand Down
4 changes: 2 additions & 2 deletions src/Plaid/DashboardUser/PlaidClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ namespace Going.Plaid;
public sealed partial class PlaidClient
{
/// <summary>
/// <para>Retrieve information about a dashboard user.</para>
/// <para>The <c>/dashboard_user/get</c> endpoint provides details (such as email address) about a specific Dashboard user based on the <c>dashboard_user_id</c> field, which is returned in the <c>audit_trail</c> object of certain Monitor and Beacon endpoints. This can be used to identify the specific reviewer who performed a Dashboard action.</para>
/// </summary>
/// <remarks><see href="https://plaid.com/docs/api/kyc-aml-users/#dashboard_userget" /></remarks>
public Task<DashboardUser.DashboardUserGetResponse> DashboardUserGetAsync(DashboardUser.DashboardUserGetRequest request) =>
PostAsync("/dashboard_user/get", request)
.ParseResponseAsync<DashboardUser.DashboardUserGetResponse>();

/// <summary>
/// <para>List all dashboard users associated with your account.</para>
/// <para>The <c>/dashboard_user/list</c> endpoint provides details (such as email address) all Dashboard users associated with your account. This can use used to audit or track the list of reviewers for Monitor, Beacon, and Identity Verification products.</para>
/// </summary>
/// <remarks><see href="https://plaid.com/docs/api/kyc-aml-users/#dashboard_userlist" /></remarks>
public Task<DashboardUser.DashboardUserListResponse> DashboardUserListAsync(DashboardUser.DashboardUserListRequest request) =>
Expand Down
8 changes: 4 additions & 4 deletions src/Plaid/DepositSwitch/DepositSwitchAltCreateRequest.cs
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
namespace Going.Plaid.DepositSwitch;

/// <summary>
/// <para>DepositSwitchAltCreateRequest defines the request schema for <c>/deposit_switch/alt/create</c></para>
/// <para>(Deprecated) DepositSwitchAltCreateRequest defines the request schema for <c>/deposit_switch/alt/create</c></para>
/// </summary>
public partial class DepositSwitchAltCreateRequest : RequestBase
{
/// <summary>
/// <para>The deposit switch destination account</para>
/// <para>(Deprecated) The deposit switch destination account</para>
/// </summary>
[JsonPropertyName("target_account")]
public Entity.DepositSwitchTargetAccount TargetAccount { get; set; } = default!;

/// <summary>
/// <para>The deposit switch target user</para>
/// <para>(Deprecated) The deposit switch target user</para>
/// </summary>
[JsonPropertyName("target_user")]
public Entity.DepositSwitchTargetUser TargetUser { get; set; } = default!;

/// <summary>
/// <para>Options to configure the <c>/deposit_switch/create</c> request. If provided, cannot be <c>null</c>.</para>
/// <para>(Deprecated) Options to configure the <c>/deposit_switch/create</c> request. If provided, cannot be <c>null</c>.</para>
/// </summary>
[JsonPropertyName("options")]
public Entity.DepositSwitchCreateRequestOptions? Options { get; set; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/DepositSwitch/DepositSwitchAltCreateResponse.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Going.Plaid.DepositSwitch;

/// <summary>
/// <para>DepositSwitchAltCreateResponse defines the response schema for <c>/deposit_switch/alt/create</c></para>
/// <para>(Deprecated) DepositSwitchAltCreateResponse defines the response schema for <c>/deposit_switch/alt/create</c></para>
/// </summary>
public record DepositSwitchAltCreateResponse : ResponseBase
{
Expand Down
4 changes: 2 additions & 2 deletions src/Plaid/DepositSwitch/DepositSwitchCreateRequest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Going.Plaid.DepositSwitch;

/// <summary>
/// <para>DepositSwitchCreateRequest defines the request schema for <c>/deposit_switch/create</c></para>
/// <para>(Deprecated) DepositSwitchCreateRequest defines the request schema for <c>/deposit_switch/create</c></para>
/// </summary>
public partial class DepositSwitchCreateRequest : RequestBase
{
Expand All @@ -24,7 +24,7 @@ public partial class DepositSwitchCreateRequest : RequestBase
public Entity.CountryCode? CountryCode { get; set; } = default!;

/// <summary>
/// <para>Options to configure the <c>/deposit_switch/create</c> request. If provided, cannot be <c>null</c>.</para>
/// <para>(Deprecated) Options to configure the <c>/deposit_switch/create</c> request. If provided, cannot be <c>null</c>.</para>
/// </summary>
[JsonPropertyName("options")]
public Entity.DepositSwitchCreateRequestOptions? Options { get; set; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/DepositSwitch/DepositSwitchCreateResponse.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Going.Plaid.DepositSwitch;

/// <summary>
/// <para>DepositSwitchCreateResponse defines the response schema for <c>/deposit_switch/create</c></para>
/// <para>(Deprecated) DepositSwitchCreateResponse defines the response schema for <c>/deposit_switch/create</c></para>
/// </summary>
public record DepositSwitchCreateResponse : ResponseBase
{
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/DepositSwitch/DepositSwitchGetRequest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Going.Plaid.DepositSwitch;

/// <summary>
/// <para>DepositSwitchGetRequest defines the request schema for <c>/deposit_switch/get</c></para>
/// <para>(Deprecated) DepositSwitchGetRequest defines the request schema for <c>/deposit_switch/get</c></para>
/// </summary>
public partial class DepositSwitchGetRequest : RequestBase
{
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/DepositSwitch/DepositSwitchGetResponse.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Going.Plaid.DepositSwitch;

/// <summary>
/// <para>DepositSwitchGetResponse defines the response schema for <c>/deposit_switch/get</c></para>
/// <para>(Deprecated) DepositSwitchGetResponse defines the response schema for <c>/deposit_switch/get</c></para>
/// </summary>
public record DepositSwitchGetResponse : ResponseBase
{
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/DepositSwitch/DepositSwitchTokenCreateRequest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Going.Plaid.DepositSwitch;

/// <summary>
/// <para>DepositSwitchTokenCreateRequest defines the request schema for <c>/deposit_switch/token/create</c></para>
/// <para>(Deprecated) DepositSwitchTokenCreateRequest defines the request schema for <c>/deposit_switch/token/create</c></para>
/// </summary>
public partial class DepositSwitchTokenCreateRequest : RequestBase
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Going.Plaid.DepositSwitch;

/// <summary>
/// <para>DepositSwitchTokenCreateResponse defines the response schema for <c>/deposit_switch/token/create</c></para>
/// <para>(Deprecated) DepositSwitchTokenCreateResponse defines the response schema for <c>/deposit_switch/token/create</c></para>
/// </summary>
public record DepositSwitchTokenCreateResponse : ResponseBase
{
Expand Down
Loading

0 comments on commit 6eb644b

Please sign in to comment.