Upgrade Guide
See what's changed and learn how to upgrade to Link 5 and API v2.
Support for Link 4 has ended and API v1 is no longer receiving updates as of January 1, 2024.
Overview#
Link 5 delivers a more intuitive, straightforward experience, so you can upgrade your onboarding flows, improve your UX, and boost conversions without having to provide any additional customer education.
API v2 enables us to better optimize, add new features, and enhance our data security going forward. Expect faster response times and an all-around superior experience that unlocks the full potential of Link 5.
Visit our Blog Post to learn more about the improvements we've made in Link 5 and API v2.
Upgrading#
Link 5#
If you are using Console to send URL invitations to connect new and existing users, the new Link 5 experience will automatically be applied anytime a new user enters Link from an email or text invitation, or returns to Link through the URL of a previous invite.
If you embed Link, read through the list of changes below and then follow the steps in our Link Upgrade Guide for your respective platform to upgrade from a previous version of Link: Web, iOS, Android, or React Native.
API v2#
In API v1, requests were made to the https://api.argyle.com/v1 base URL.
In API v2, requests are made to the https://api.argyle.com/v2 base URL.
Previous API keys created in Console for API v1 can be used to make requests to API v2 endpoints.
We recommend deleting all previously created v1 webhooks and subscribing to v2 webhooks when using API v2.
Additional resources:
- API v2 Reference
- API v2 Postman
- Argyle API Introduction Guide
- Changes: API v1 — API v2
- Migrating Link item IDs to Item IDs
Changes#
Notable changes#
-
User tokens are now required in all Link initializations. All user tokens will now expire in one hour.
-
Link keys have been deprecated and are no longer required in Link 5 initializations.
-
Numeric Item IDs are replacing Link items IDs.
-
The contents of PDF reports can now be retrieved in JSON format.
-
When retrieving an Item, the response includes:
- A new
field_coverageobject, which lists which data fields the Item supports and does not support - A new
direct_deposit_switchobject, which lists the Item's deposit switching capabilities
- A new
-
Item Filters is a new endpoint in API v2, which allows you to:
- Filter Item's by what data fields they support
- Filter for Item's that currently support or do not support new connections
- Filter for Item's that support specific deposit switch settings
Link 4 — Link 5#
If you are embedding Link, we have simplified and reduced the number of parameters required to initialize Link to two required parameters, four optional parameters, and our optional callback functions:
| Parameter | Type | Description |
|---|---|---|
| sandbox | required | Determines the environment: true for Sandbox, false for Production. |
| userToken | required | User tokens are now required in all Link initializations. |
| flowId | optional | Customizes the Link connection experience. A previously created customizationId can be used with the flowId parameter, and will still be available in the new Flows section of Console. |
| ddsConfig | optional | Initializes a deposit switch. |
| items | optional | Restrict Link search to a single Item or list of Items. |
| accountId | optional | Used to directly connect a user to an existing account. |
| "Callback Name" | optional | Functions triggered by events in Link that can be used to automate taking additional action. |
Link's introduction screen
- Optional and disabled by default
- All text is now fully customizable using the Flows section of Console
- A direct link to the document upload flow can be added
Link's search experience
- Suggested Items are based on your most common account connections
- Specific Items can be placed at the top of the Popular search list using Flows in Console
Link's login screen
- Customers can now select how they prefer to log in before entering an Item's specific login screen
- SSO logins are now more prominent
- The login screen has been simplified to improve the connection experience
Link's web modal size has changed from 375x667 to 390x720.
"Take photo" is now available during document upload on mobile devices.
Customers are now notified when an expected deposit switch does not occur, which can happen when a selected Item does not support deposit switching or your specific deposit switch settings.
API v1 — API v2#
Users
- Changed — When creating a user, a
user_tokenis now returned in the response - Renamed —
data_providers_connectedis nowitems_connected - Added —
external_id
User Tokens
- Changed — When creating a user token, a
user_tokenis now returned in the response
Invites
- Endpoint renamed from
/user-invite-templatesand/user-invites - An
invite_template_idis no longer required to send an invite
Accounts
- Changed — The
updated_atproperty of theavailabilityobject now shows the timestamp of the most recent change rather than the timestamp of the most recent account scan - Renamed —
link_itemis nowitem - Renamed —
pay_distributionis nowdirect_deposit_switch - Removed —
data_partner - Removed —
status- Now available only within the
connectionobject
- Now available only within the
- Removed —
error_code - Removed —
was_connected - Added —
scanned_atscanned_at=nullindicates the account was neverconnected(in API v1:was_connected=false)
Items
- Endpoint renamed from
/link-items - Changed — Item
idhas a new format —item_123456789 - Added —
featuresobject- Includes the
field_coverageobject, which lists which data fields the Item supports and does not support - Includes the
direct_deposit_switchobject, which lists the Item's deposit switching capabilities
- Includes the
Item Filters
- New endpoint in API v2
Identities
- New endpoint in API v2 that merges the
/profilesand/employmentsAPI v1 endpoints - Renamed —
statusis nowemployment_status - Renamed —
typeis nowemployment_type - Renamed —
hire_datetimeis nowhire_date - Renamed —
termination_datetimeis nowtermination_date - Removed —
platform_user_id - Removed — the
hire_datesarray of strings - Removed — the
terminationsarray of objects
Paystubs
- Endpoint renamed from
/payouts - Renamed —
payout_dateis nowpaystub_date - Renamed —
payout_periodis nowpaystub_period - Removed —
overtime - Removed —
bonuses - Removed —
commission - Removed —
type
Payroll Documents
- Endpoint renamed from
/documents - Changed —
ocr_dataobject is now outside of themetadataobject
Deposit Destinations
- Endpoint renamed from
/pay-allocations - Renamed —
bank_accountis nowach_deposit_account
Gigs
- Endpoint renamed from
/activities - Renamed —
num_tasksis nowtask_count - Renamed —
start_dateis nowstart_datetime - Renamed —
end_dateis nowend_datetime - Removed —
link_item - Removed —
data_partner - Removed —
complete_data_available - Removed —
route - Removed —
all_timestamps - Removed —
income.taxes
Shifts
- New endpoint in API v2.
- Contains
breaksand other shift data found in/activitiesin API v1
Vehicles
- Removed —
type_description
Ratings
- Endpoint renamed from
/reputations
Reports
- Added —
accountsarray - Added —
external_id - Added —
/reports/{id}.jsonendpoint (retrieving a VOIE report in JSON replaces the API v1/income-totalsendpoint)
User Uploads
- New endpoint in API v2.
- Contains uploaded document data found in
/formsin API v1
User Forms
- Contains only response form data found in
/formsin API v1
Target Deposit Destinations
- Endpoint renamed from
/pay-distribution-configs/encrypt - Renamed —
bank_accountis nowach_deposit_account - Renamed —
entire_allocationis nowentire_paycheck - Renamed —
allocation_idis nowdeposit_destination - Renamed —
remove-allocationis nowremove-destinationwhen removing a bank account - Renamed & Changed —
allow_editingis nowallow_restoring_destinationsand default value is nowfalse - Removed —
default_allocation_type
- Changed — Only the
accounts.removedwebhook is sent when an account is deleted. Account deletion will no longer cause other.removedwebhooks to be sent.
Identities Webhooks
- Changed —
identities.addedmerges theprofiles.addedandemployments.addedv1 webhooks - Changed —
identities.updatedmerges theprofiles.updatedandemployments.updatedv1 webhooks
Paystubs Webhooks
- Renamed —
payouts.addedis nowpaystubs.added - Renamed —
payouts.updatedis nowpaystubs.updated - Renamed —
payouts.partially_syncedis nowpaystubs.partially_synced - Renamed —
payouts.fully_syncedis nowpaystubs.fully_synced
Payroll Documents Webhooks
- Renamed —
documents.addedis nowpayroll_documents.added - Renamed —
documents.updatedis nowpayroll_documents.updated - Renamed —
documents.removedis nowpayroll_documents.removed - Renamed —
documents.ocr_completedis nowpayroll_documents.ocr_completed - Renamed —
documents.ocr_failedis nowpayroll_documents.ocr_failed
Deposit Destinations Webhooks
- Renamed —
pay_allocations.addedis nowdeposit_destinations.added - Renamed —
pay_allocations.updatedis nowdeposit_destinations.updated - Renamed —
pay_allocations.removedis nowdeposit_destinations.removed
Deposit Switching Webhooks
- Renamed —
accounts.pay_distribution_updatedis nowdirect_deposit_switches.completed - Renamed —
accounts.pay_distribution_failedis nowdirect_deposit_switches.failed
Activities Webhooks
- Renamed —
activities.addedis nowgigs.added - Renamed —
activities.updatedis nowgigs.updated - Renamed —
activities.removedis nowgigs.removed - Renamed —
activities.partially_syncedis nowgigs.partially_synced - Renamed —
activities.fully_syncedis nowgigs.fully_synced
Ratings Webhooks
- Renamed —
reputations.addedis nowratings.added - Renamed —
reputations.updatedis nowratings.updated
User Uploads Webhooks
- Added —
user_uploads.added - Added -
user_uploads.removed - Added -
user_uploads.ocr_completed - Added —
user_uploads.ocr_failed - Added —
user_uploads.ocr_authenticity
User Forms Webhooks
- Renamed —
forms.submittedis nowuser_forms.submitted - Renamed —
forms.removedis nowuser_forms.removed - Removed —
forms.ocr_completed - Removed —
forms.ocr_failed