This library is generated from an OpenAPI schema (OAS). See full changelog here for schema changes.
- Updating to OAS 2020-09-14_1.94.0
- Add
use_case
,company_legal_name
,city
,region
,country_code
,postal_code
as a required response field ofApplication
- Remove
income_verification_id
from income webhook example - Fix incorrect URL for
/user/create
endpoint
- Remove deprecated
income_verification_id
from income webhooks - Standardize income webhook casing
- Add several new fields to
/signal/evaluate
response
- Add
/sandbox/transfer/fire_webhook
endpoint
- Mark certain Income endpoints as deprecated in favor of the new
/credit/*
endpoints.
- Add
checkout
processor to/processor/token/create
- Add
webhook_type
parameter to/sandbox/item/fire_webhook
- Support for investments transactions, investments holdings and liabilities
DEFAULT_UPDATE
webhooks
- Add new warning type to
/credit/bank_income/get
response
- Add
marqeta
andsolid
as Auth processor partners - Fix schema of
cause
parameter for Asset Reports - Fix some invalid examples
- Add
/credit/employment/get
endpoint - Add optional
access_tokens
array to/credit/payroll_income/precheck
request
- Update description of
/sandbox/item/fire_webhook
- Update description of
accounts/get
- Added
AUTH_DATA_UPDATE
webhook code as valid input to/sandbox/item/fire_webhook
- Update description for
/sandbox/item/fire_webhook
- Add
/transfer/migrate_account
endpoint
- Fix operationId for
/credit/payroll_income/precheck
- Remove deprecated fields from
/item/application/list
- Add
wire_routing_number
parameter to/bank_transfer/migrate_account
- Specify minimum length of 1 for
description
onTransferIntentCreateRequest
- Add
consent_id
support in the Institutions Search request
- Add
apex_clearing
as a processor partner
- Introduce Credit Payroll Income APIs
- Introduce Credit Precheck API
- Add
/identity_verification/create
endpoint, kept private for now
- Add
status
field toConnectedApplication
- Updating to OAS 2020-09-14_1.84.5
- Added missing
asset_report_id
field to/asset_report/relay/refresh
- Change summary description and url for
/credit/bank_income/get
- Slight wording change for
/credit/bank_income/get
response fields
- Move
user_token
to top level oflink/token/create
request
- Correct typo in enum value for Investment subtypes (
person
->pension
)
- Fix schema to properly handle personal finance categories in
/transactions/get
- Add
user_token
parameter tolink/token/create
- Add new fields to
/credit/bank_income/get
response
- Remove
permitted
decision for/transfer/authorization/create
- Add beta field
consented_products
to/item/get/
endpoint response
- Revamp LinkTokenCreate.IncomeVerificationOptions for GA
- Add
/transaction/rules/create
,/transaction/rules/list
and/transaction/rules/remove
endpoints
- Added
/user/create
endpoint
- Updating to OAS 2020-09-14_1.79.0
- Many enum fields have been de-anonymized and renamed, new names can be found in the
2020-09-14_1.64.15
change message - Non integer numbers are now
float64
fields
- Remove the word "Asset" before "Relay" in every asset report relay related responses and request objects
- Add "AssetReport" at the beginning of relay related responses and request objects to match the same pattern as other assets related objects
- Add
ProductAccess
fields for upcoming partner
- Updating to OAS 2020-09-14_1.78.0
- Go library 2.1.0 was erroneously released as a
minor
version; 2.1.0 changes will be re-released as amajor
version shortly.
- Revert to
2020-09-14_1.64.14
- Updating to OAS 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
- Explicitly set
format: double
for non-integer numbers so generated fields prefer float64
- Add three new endpoints for Assets:
/asset_report/relay/create
,/asset_report/relay/get
, and/asset_report/relay/rmeove
- Added
/asset_report/relay/refresh
endpoint
- Add
recurring_transactions
to list of products
- Add new endpoint for
/credit/bank_income/get
- Updated documentation URLs for all product endpoints. They can now be found
at
/docs/api/products/<product-name>/#endpoint
instead of/docs/api/products/#endpoint
- internal changes
- Remove deprecated
income_verification_id
from/sandbox/income/fire_webhook
- Reorder processors enum
- Added
/beta/transactions/v1/enhance
endpoint
- Added
status
object to sample responses for/institutions/get
andinstitutions/search
endpoints
- 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.
- internal changes
- Removed unused
/income/verification/summary/get
endpoint
- Added Payment Consent endpoints
- Removed unused
/income/verification/paystub/get
endpoint
- 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)
- Made
last_statement_balance
andminimum_payment_amount
nullable
for credit card liabilities schema to reflect existing API behavior.
- Updating to OAS 2020-09-14_1.64.14
- Fix issue with nullable strings incorrectly reporting if they are set.
- Made
last_payment_amount
andlast_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.
- Deprecate
idempotency_key
parameter in transfer/create
- Removed the unused
required_product_access
andoptional_product_access
parameters fromRequestedScopes
- 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
- Updated the external docs URL for Bank Transfers sandbox endpoints
- Updating to OAS 2020-09-14_1.64.9
InstitutionsGetRequestOptions.Oauth
went from aPtrBool
->NullableBool
as it's now nullable.InstitutionsSearchRequestOptions
fields changed to nullable (soNullableBool
):.Oauth
.IncludeAuthMetadata
.IncludePaymentInitiationMetadata
- To migrate from
PtrBool
->NullableBool
, set the value to a*plaid.NewNullableBool(plaid.PtrBool(bool))
. For an example, check out howOauth
is set in/tests/institutions_test.go
. - Split
AccountSubtype
enums and objects into per-endpoint ones to more accurately represent allowed values.- Fixed a bug with
LinkTokenCreateRequestAccountSubtypes
having unconditional maps as parameters instead of models DepositoryFilter
's account subtypes usesDepositoryAccountSubtypes
CreditFilter
's account subtypes usesCreditAccountSubtypes
LoanFilter
's account subtypes usesLoanAccountSubtypes
InvestmentFilter
's account subtypes usesInvestmentAccountSubtypes
- Fixed a bug with
- De-anonymized the object filters under
LinkTokenCreateRequestAccountSubtypes
, as anonymous objects aren't compatible with the generated CLibs.
- Updated the description of the historical_balances array
- Add new possible enums for income verification earnings breakdown canonical description
- Hid a few product enum values that are deprecated or no longer valid for certain request fields. This affects the documentation only.
- Make guarantee fields required in Transfer endpoints
- Updated description for
failure_reason
field in Transfer endpoints
- Make
repayment_id
required in/transfer/repayment/return/list
endpoint
- Update description for legal name field in
BankTransferUser
- Update descriptions for
/transfer/repayment/list
and/transfer/repayment/return/list
endpoints
- Remove
scheme_automatic_downgrade
from/payment_initiation/payment/create
- Update description for
/sandbox/transfer/sweep/simulate
endpoint
- 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
. TheAccountSubtype
namespace in this context is now prefixed with the AccountType. (Example for Node: Old:AccountSubtype.checking
New:DepositoryAccountSubtype.checking
)
- Update description for
datetime
andauthorized_datetime
fields in Transactions endpoints
- Make
sweep_id
/sweep_amount
fields on Transfer Event nullable
- Set
institution_status
to be nullable inInstitutionsGetResponse
- Update external docs URLs for Transfer and Bank Transfer endpoints
- Update description for
ach_return_code
field in Transfer endpoints
- Add
join_date
to/application/get
and/item/application/list
- Remove
created_at
from/application/get
- Updated various description fields for Income
- Add
employment
as an available product in Product array.
- Add
minItems
andminLength
validation to various fields in/institution/*
request schemas
- Add guarantee_decision and guarantee_decision rationale fields to the transfer API
- Add repayment-related resources to the transfer API
- Remove
receiver_pending
andreceiver_posted
from bank transfer event types. - Remove
BankTransferReceiverDetails
from bank transfer event types.
- Update description formatting for
sweep
andamount
fields for sweep endpoints
- Added
NEW_ACCOUNTS_AVAILABLE
webhook code as valid input to/sandbox/item/fire_webhook
- Update description for
/sandbox/item/fire_webhook
- Set the
minimum
for thecount
andoffset
fields inInstitutionsGetRequest
- Set
products
,routing_numbers
, andoauth
fields to be nullable inInstitutionsGetRequestOptions
- Set
products
to be nullable inInstitutionsSearchRequest
- Set
oauth
,include_auth_metadata
, andinclude_payment_initiation_metadata
fields to be nullable inInstitutionsSearchRequestOptions
- Set
payment_id
field to be nullable inInstitutionsSearchPaymentInitiationOptions
- Adds
DOCUMENT_TYPE_NONE
enum value for document metadata
- Relax length restrictions on the
currency
field in thePay
schema
- Use new payment statuses in
PaymentStatusUpdateWebhook
- Updating to OAS 2020-09-14_1.61.0
- Updating to OAS 2020-09-14_1.58.1
- Updating to OAS 2020-09-14_1.54.0
- Updating to OAS 2020-09-14_1.44.0
- Updating to OAS 2020-09-14_1.40.3
- Updating to OAS 2020-09-14_1.36.1
- Updating to OAS 2020-09-14_1.36.1
- Updating to OAS 2020-09-14_1.33.0.
- Updated to OAS 2020-09-14_1.31.1.
- Updated to OAS 2020-09-14_1.26.1.
- Moved officially to
GOMODULES
, as well as GA'd the generated version ofplaid-go
! This is ported over from our beta branch / release. - Pinned to OpenAPI version
2020-09-14_1.21.0
. Make sure to check the OpenAPI changelog.
- Introduce the
ToPlaidError
helper function to convert generic errors to the plaid.Error struct - Type fixes from
OpenAPI version 2020-09-14_1.20.6
, see full changelog here
We first are reversioning this package, as we are now using GOMODULES.
This version represents a transition in how we maintain our external client libraries. We are now using an API spec written in OpenAPI 3.0.0
and running our definition file through OpenAPITool's go
generator.
Go Migration Guide:
From:
import (
"github.com/plaid/plaid-go/plaid"
)
client, err := plaid.NewClient(plaid.ClientOptions{
os.Getenv("PLAID_CLIENT_ID"),
os.Getenv("PLAID_SECRET"),
plaid.Sandbox,
})
To:
import (
"github.com/plaid/plaid-go/plaid"
)
configuration := plaid.NewConfiguration()
configuration.AddDefaultHeader("PLAID-CLIENT-ID", os.Getenv("CLIENT_ID"))
configuration.AddDefaultHeader("PLAID-SECRET", os.Getenv("SECRET"))
configuration.UseEnvironment(plaid.Sandbox)
client := plaid.NewAPIClient(configuration)
All endpoint rquests now take a request model and the functions have been renamed to move the
verb to the end (e.g. GetBalances
is now BalancesGet
). We now accept a context
object in order to give the caller more control over the http request.
From:
response, err := client.CreateSandboxPublicToken(SandboxInstitution, TestProducts)
To:
response, httpResponse, err := client.PlaidApi.SandboxPublicTokenCreate(context.Background()).SandboxPublicTokenCreateRequest(
*plaid.NewSandboxPublicTokenCreateRequest(
SandboxInstitution,
TestProducts,
),
).Execute()
From:
response, err := client.CreateSandboxPublicToken(SandboxInstitution, TestProducts)
plaidErr := err.(plaid.Error)
To:
response, httpResponse, err := client.PlaidApi.SandboxPublicTokenCreate(context.Background()).SandboxPublicTokenCreateRequest(
*plaid.NewSandboxPublicTokenCreateRequest(
SandboxInstitution,
TestProducts,
),
).Execute()
plaidErr, _ := plaid.ToPlaidError(err)
- Add support for
options
to/payment_initiation/payment/create
- Add support for
last_updated_datetime
to/accounts/balance/get
- Add Standing Orders support to Payment Initiation
- Add institution status types for health incidents and investment updates
- Add back (deprecated)
/payment_initiation/payment/token/create
endpoint - Add back (deprecated)
/item/public_token/create
endpoint
BREAKING CHANGES:
- Add Standing Order support to the
/payment_initiation/payment/create
endpoint
BREAKING CHANGES:
- The library has been pinned to the '2020-09-14' API release. Visit the docs 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 aremoved
boolean. - The
/institutions/get
,/institutions/get_by_id
, and/institutions/search
now requirecountry_codes
to be passed in.
- Add support for Link Token get endpoint (#142)
/link/token/get
BREAKING CHANGES:
- Add BACS as a parameter to
/recipient/create
(#137)
- Add
MerchantName
toTransaction
struct
BREAKING CHANGES:
- Removes the public key as input to
ClientOptions
. The public key is no longer needed by the API. - Add support for the
/link/token/create
endpoint
AuthorizedDate
andPaymentChannel
added to theTransaction
structItem
added to theGetAuthResponse
struct
- Adds support for
/sandbox/item/set_verification_status
PaymentRecipientAddress
can now be null- Removed support for deprecated
/item/access_token/update_version
endpoint
BREAKING CHANGES:
- Removed
client.UpdateAccessTokenVersion
PaymentRecipientAddress
can now be null