API Data Structure

Learn how Argyle structures employment data.


Argyle API allows you to retrieve the information your users have agreed to share with you by connecting their work accounts via Argyle Link.

The information is delivered through a few easily consumable endpoints: Profiles, Employments, Payouts, Documents, Activities, Vehicles, Reputations, Finances, and Pay Allocations.

The API Reference provides details on the attributes within these endpoints. Below is a high-level overview of the information available in each of the endpoints.

Data Structure

Within Argyle's terminology, a user represents 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 (aka Link item) will have a unique account object created once the user successfully connects to it.

The account ID is unique to that user session and will not be maintained if the user links that same account with another user session. To maintain user sessions, please follow the best practices for returning users experience.

To find out which company or platform was linked by a specific user, you need to 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 will denote the actual employer of the user.

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.

Accounts that have never successfully connected will be removed.

Gradual Data Delivery

The data pull from a data partner 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.

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 the historical activities.

You can subscribe to the activities.partially_synced webhook event to get notified when a certain amount of historical data has been scanned and is ready to fetch.

By default the activities.partially_synced event will notify 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.

Note that 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 will count as the first day scanned.


Argyle enables access to the majority of the US workforce. You can view the currently existing employment data sources (i.e. companies and platforms) here.

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 on Argyle Link.

Console coverage

You can also view the entire coverage through the Console. Use the search bar to find a company or platform and see which endpoints and data fields are available for it.

See below an example for Walmart:

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:

  1. The data source does not support that field (i.e. it does not hold that information).
  2. The field is supported by the data source but the data in it is not present. This could happen due to optional fields, inactive accounts, etc.