Data Structure
Learn how Argyle structures employment data.
Argyle API connects users' work accounts with Argyle Link to give you access to the employment information they have provided.
This information is delivered through a few easily consumable endpoints:
- Profiles
- Employments
- Income totals
- Payouts
- Documents
- Activities
- Vehicles
- Reputations
- Pay allocations
This page provides a high-level overview of the information available in each of these endpoints. For more information on specific attributes and to test these endpoints, see the Essential endpoints and Products sections of this reference.
Data structure#
In Argyle's terminology, a user is your customer who has attempted to link one or more of their work accounts via Argyle Link. A new user object is created when your customer attempts to link their first work account. The user is created on the attempt, even if the provided data was incorrect.
An account object is created when your user attempts to link their work account.
- Each company or platform, a Link item, has a unique account object created once the user successfully connects to it.
- The account ID is unique to that user session and is not be maintained if the user links that same account with another user session.
- To maintain user sessions, follow the best practices for returning users. Account objects contain a user's information for that particular work account only. For example, to get all the payouts for an account you will have to query the payouts endpoint by specifying the account ID in the request parameters.
To find out which company or platform was linked by a specific user, query the /accounts
endpoint by specifying the ID of the user in the request parameters.
The employer
data field is present within all relevant endpoints and denotes the actual employer of the user.
Accounts that have never successfully connected will be removed.
Gradual data delivery#
The data pull from a payroll provider starts immediately after a new account is linked. An account is considered to be linked when a user enters their login details and Argyle has successfully authenticated their credentials.
For accounts that have a large number of historical activities, the data pull can take up to an hour. However, Argyle provides a way to get the most recent activities seconds after the account is linked and before the full sync is finished with the activities.partially_synced
webhook.
- You can subscribe to the
activities.partially_synced
webhook event to be notified when a certain amount of historical data has been scanned and is ready to fetch. - By default the
activities.partially_synced
event notifies you when 30 days of the most recent activities have been scanned The number of days synced is a configurable parameter that you can set when creating the webhook.
When a work account is being scanned, activities become available to fetch from the API gradually starting from the most recent ones, and then going backward in time through all historical activities.
The number of days synced is counted from the most recent activity. For example, if the most recent activity on an account occurred 10 days ago, that day counts as the first day scanned.
Coverage#
Argyle enables access to the majority of the US workforce. You can view the currently existing employment data sources, or companies and platforms, in Argyle Console on the Coverage page.
- Argyle can not, does not, and will not perform any actions within a user's work account without the user's consent. A user can grant or remove access to their work account at any time on Argyle Link.
- When viewing the entire coverage through Argyle Console, use the search bar to find a company or platform and see which endpoints and data fields are available for it.
Walmart example:
Null values#
Sometimes in the API call response, you will see null
as the returned value for a given field. This might happen for one of two reasons:
- The data source does not support that field (in other words, it does not hold that information).
- The field is supported by the data source but the data in it is not present. This could happen due to optional fields or inactive accounts.
Data retention period#
Argyle is a data transfer agent and only keeps the data for as long as the users need it for their purposes. Data can be removed in two ways:
- Via the API either by deleting the user and all of their connected accounts or deleting accounts separately (which maintains the user object for potential future reuse).
- The user can revoke access to their connected account(s) via Link, at which point all the data associated will be deleted.
Argyle does not resell this data or use it for any other client.