>  Switch To Link 5 and API v2 Documentation

Accounts

Learn about the /accounts endpoint.

  • Account objects represent payroll accounts that your users connect via Argyle Link.
  • You can query accounts by account ID or user ID that you might have obtained through one of the Argyle Link callbacks.

Accounts that have never successfully connected are removed after 30 days.


#The account object

Attributes
  • #
    idstring (uuid)

    Unique ID of the payroll account.

  • #
    userstring (uuid)

    ID of the user associated with the payroll account.

  • #
    employersarray of strings

    A list of names of all employers associated with this payroll account. In most cases, this returns a single employer. However, sometimes the same payroll provider (for example, MyADP) is associated with more than one employer.

  • #
    data_partner *Deprecatedstring

    Deprecated in favor of link_item.

  • #
    itemstring

    Sequential ID of the Link item, in the format item_123456789.

  • #
    sourcestring

    Denotes the source of the account's employment records provided in the Argyle API. The source value is the same as the link_item when a company has an in-house solution for managing employment data:


    link_item="udre" source="udre"


    Or it can be different when a company is utilizing a third-party payroll provider:


    link_item="gnomedepot" source="workbay"


    In the sandbox environment, source always returns argyle_sandbox, regardless of the link_item.

  • #
    created_atstring (timestamp)

    Time at which the account was connected. Timestamps follow the ISO 8601 standard.

  • #
    updated_atstring (timestamp)

    Time at which the account was updated. Timestamps follow the ISO 8601 standard.

  • #
    was_connectedboolean

    Indicates whether a payroll account has been successfully connected at some point in the past. Once a payroll account has been successfully connected, was_connected returns true and stays true indefinitely, even if that payroll account becomes disconnected later on.


    When a user submits a form, a special account linked to a form Link item is created. In this case, was_connected will always return false, as this account was only used for form creation and did not connect any payroll accounts.

  • #
    connectionobject

    Contains information about connection status and possible connection errors for a given account.

  • #
    statusstring (enum)

    Represents the status of the link between Argyle and the payroll provider.

  • #
    error_codestring

    Provides information on why the connection failed when connection.status is error. Each error_code has a corresponding error_message.

  • #
    error_messagestring

    Provides additional information on why the connection error occurred. Each error_message corresponds to a particular error_code.


    For more information on possible values, common causes, and troubleshooting suggestions for these errors, see Account connection errors.

  • #
    updated_atstring (timestamp)

    Timestamp denoting the last time connection status was updated. Timestamps follow the ISO 8601 standard.

  • #
    status *Deprecatedstring

    Deprecated in favor of connection.status.

  • #
    error_code *Deprecatedstring

    Deprecated in favor of connection.error_code.

  • #
    pay_distributionobject

    Contains information about the direct deposit update process and possible direct deposit switching errors for a given account.

  • #
    statusstring (enum)

    Denotes the point in the process of the direct deposit update process.

  • #
    error_codestring

    Provides information on why the direct deposit update was unsuccessful when pay_distribution.status is error.


    Each error_code has a corresponding error_message.

  • #
    error_messagestring

    Provides additional information on why the direct deposit update error occurred.


    Each error_message corresponds to a particular error_code.


    For more information on possible values, common causes, and troubleshooting suggestions for these errors, see our direct deposit switching errors guide.

  • #
    updated_atstring (timestamp)

    Timestamp denoting the last time the direct deposit was updated. Timestamps follow the ISO 8601 standard.

  • #
    availabilityobject

    The availability object shows the synchronization status and the updated_at fields for each data resource (for example, documents, vehicles, or payouts) within the account. Event data resources (for example, payouts or activities) have additional information pertaining to event count and availability timeframe.


    pay_allocations availability is only present if your Argyle account has direct deposit switching enabled. Additionally, if direct deposit switching is enabled, but the pay allocation resource is not available within the Link item, then pay_allocations returns null.


    Note: the finances resource has been *deprecated.


    For more information on data synchronization, refer to Gradual Data Delivery.

  • #
    statusstring (enum)

    Denotes the status of the data scan.

  • #
    updated_atstring (timestamp)

    Timestamp of the last data scan. Timestamps follow the ISO 8601 standard.

  • #
    available_countinteger

    The number of available events—for example, activities, payouts.


    During the first scan of an account, the value of this field changes with each scanning iteration until the availability.status becomes synced.

  • #
    available_tostring (timestamp)

    Denotes the end point of the time interval, for which the events (for example, activities or payouts) are available. Timestamps follow the ISO 8601 standard.


    During the first scan of an account, the value of this field will change with each scanning iteration until the availability.status becomes synced.

  • #
    available_fromstring (timestamp)

    Denotes the start point of the time interval, for which the events (for example, activities or payouts) are available. Timestamps follow the ISO 8601 standard.


    During the first scan of an account, the value of this field will change with each scanning iteration until the availability.status becomes synced.

  • #
    files_countinteger

    Total number of uploaded documents.

  • #
    in_progress_countinteger

    Total number of documents uploaded or response forms in progress but not submitted.



Example
1{
2  "id": "ac81e2bc-2157-4535-8ca4-fb1f068df1fc",
3  "user": "53fe928d-9c6a-460b-b5ac-19d67304d106",
4  "employers": [
5    "homedepot"
6  ],
7  "link_item": "homedepot",
8  "data_partner": "homedepot",
9  "item": "item_000019016",
10  "source": "workday",
11  "created_at": "2019-11-27T15:55:56.771322Z",
12  "updated_at": "2019-11-29T08:37:42.164522Z",
13  "was_connected": true,
14  "connection": {
15    "status": "connected",
16    "error_code": null,
17    "error_message": null,
18    "updated_at": "2019-11-29T08:37:42.112859"
19  },
20  "pay_distribution": {
21    "status": "success",
22    "error": null,
23    "error_message": null,
24    "updated_at": "2019-11-29T08:37:42.164522Z"
25  },
26  "availability": {
27    "profiles": {
28      "status": "synced",
29      "updated_at": "2019-11-29T08:37:42.164522Z"
30    },
31    "employments": {
32      "status": "synced",
33      "updated_at": "2019-11-29T08:37:42.164522Z"
34    },
35    "finances": {
36      "status": "synced",
37      "updated_at": "2019-11-29T08:37:42.164522Z"
38    },
39    "reputations": {
40      "status": "synced",
41      "updated_at": "2019-11-29T08:37:42.164522Z"
42    },
43    "documents": {
44      "status": "synced",
45      "updated_at": "2019-11-29T08:37:42.164522Z"
46    },
47    "vehicles": {
48      "status": "synced",
49      "updated_at": "2019-11-29T08:37:42.164522Z"
50    },
51    "pay_allocations": {
52      "status": "synced",
53      "updated_at": "2019-11-29T08:37:42.164522Z"
54    },
55    "payouts": {
56      "status": "synced",
57      "updated_at": "2019-11-29T08:37:42.164522Z",
58      "available_count": 3,
59      "available_from": "2019-10-30T00:00:00Z",
60      "available_to": "2018-11-27T00:00:00Z"
61    },
62    "activities": {
63      "status": "synced",
64      "updated_at": "2019-11-29T08:37:42.164522Z",
65      "available_count": 146,
66      "available_to": "2019-11-29T08:37:42.164522Z",
67      "available_from": "2018-12-15T20:40:50.399677Z"
68    },
69    "forms": null,
70    "user_uploads": null
71  }
72}

#Retrieve an account

get/v1/accounts/{id}
  • Retrieve an account object with the supplied ID.
  • This request returns an account object if you provided a valid identifier.
Path parameters
  • #
    idstring (uuid)
    required

    The identifier of the account to be retrieved

Example Request
1curl --request GET \
2     --url https://api.argyle.com/v1/accounts/{id} \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1{
2  "id": "0180519e-64f5-0107-603a-a460f85c2c50",
3  "user": "0180519e-620f-a480-0a6d-307c086c0773",
4  "availability": {
5    "activities": {
6      "status": "synced",
7      "updated_at": "2022-04-22T14:13:03.109359Z",
8      "available_count": 8,
9      "available_from": "2021-12-24T14:12:58Z",
10      "available_to": "2022-04-21T14:12:58Z"
11    },
12    "payouts": {
13      "status": "synced",
14      "updated_at": "2022-04-22T14:13:03.109359Z",
15      "available_count": 8,
16      "available_from": "2021-12-24T14:12:58Z",
17      "available_to": "2022-04-21T14:12:58Z"
18    },
19    "documents": {
20      "status": "synced",
21      "updated_at": "2022-04-22T14:13:10.346950Z"
22    },
23    "profiles": {
24      "status": "synced",
25      "updated_at": "2022-04-22T14:13:03.109359Z"
26    },
27    "employments": {
28      "status": "synced",
29      "updated_at": "2022-04-22T14:13:03.109359Z"
30    },
31    "reputations": {
32      "status": "synced",
33      "updated_at": "2022-04-22T14:13:03.109359Z"
34    },
35    "vehicles": {
36      "status": "synced",
37      "updated_at": "2022-04-22T14:13:03.109359Z"
38    },
39    "pay_allocations": {
40      "status": "synced",
41      "updated_at": "2022-04-22T14:12:58.129652Z"
42    },
43    "forms": null,
44    "user_uploads": null
45  },
46  "connection": {
47    "status": "connected",
48    "error_code": null,
49    "updated_at": "2022-04-22T14:12:57.372396Z",
50    "error_message": null
51  },
52  "pay_distribution": {
53    "status": "idle",
54    "error_code": null,
55    "updated_at": "2022-04-22T14:12:56.694097Z",
56    "error_message": null
57  },
58  "created_at": "2022-04-22T14:12:56.723775Z",
59  "updated_at": "2022-04-22T14:13:10.360769Z",
60  "status": "done",
61  "error_code": null,
62  "data_partner": "amazon",
63  "link_item": "amazon",
64  "item": "item_000002102",
65  "source": "amazonwarehouse_remote",
66  "employers": [
67    "amazon"
68  ],
69  "was_connected": true
70}

#List accounts

get/v1/accounts
  • List all accounts that your customers have connected through Argyle.
  • This request returns an object with a results property that contains an array of up to limit account objects.
Query parameters
  • #
    userstring (uuid)
    optional

    Returns only accounts with the provided user ID.

  • #
    limitinteger
    optional

    The number of account objects to be returned. The default is 10. Max value is 200.

Example Request
1curl --request GET \
2     --url https://api.argyle.com/v1/accounts?limit=2 \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1[
2  {
3    "id": "018051a0-7cab-fe51-063f-90c36276a4ee",
4    "user": "0180519e-a0e0-cfe9-cd25-9ec9df94b118",
5    "availability": {
6      "activities": {
7        "status": "synced",
8        "updated_at": "2022-04-22T14:15:20.648761Z",
9        "available_count": 8,
10        "available_from": "2021-12-24T14:15:15Z",
11        "available_to": "2022-04-21T14:15:15Z"
12      },
13      "payouts": {
14        "status": "synced",
15        "updated_at": "2022-04-22T14:15:20.648761Z",
16        "available_count": 8,
17        "available_from": "2021-12-24T14:15:15Z",
18        "available_to": "2022-04-21T14:15:15Z"
19      },
20      "documents": {
21        "status": "synced",
22        "updated_at": "2022-04-22T14:15:27.345624Z"
23      },
24      "profiles": {
25        "status": "synced",
26        "updated_at": "2022-04-22T14:15:20.648761Z"
27      },
28      "employments": {
29        "status": "synced",
30        "updated_at": "2022-04-22T14:15:20.648761Z"
31      },
32      "reputations": {
33        "status": "synced",
34        "updated_at": "2022-04-22T14:15:20.648761Z"
35      },
36      "vehicles": {
37        "status": "synced",
38        "updated_at": "2022-04-22T14:15:20.648761Z"
39      },
40      "pay_allocations": {
41        "status": "synced",
42        "updated_at": "2022-04-22T14:15:15.295756Z"
43      },
44      "forms": null,
45      "user_uploads": null
46    },
47    "connection": {
48      "status": "connected",
49      "error_code": null,
50      "updated_at": "2022-04-22T14:15:14.557239Z",
51      "error_message": null
52    },
53    "pay_distribution": {
54      "status": "idle",
55      "error_code": null,
56      "updated_at": "2022-04-22T14:15:13.835562Z",
57      "error_message": null
58    },
59    "created_at": "2022-04-22T14:15:13.871993Z",
60    "updated_at": "2022-04-22T14:15:27.363236Z",
61    "status": "done",
62    "error_code": null,
63    "data_partner": "us_army",
64    "link_item": "us_army",
65    "item": "item_000041672",
66    "source": "mypay",
67    "employers": [
68      "us_army"
69    ],
70    "was_connected": true
71  },
72  {
73    "id": "0180519f-d9e8-59dc-29cc-c0446158b3a1",
74    "user": "0180519e-a0e0-cfe9-cd25-9ec9df94b118",
75    "availability": {
76      "activities": {
77        "status": "synced",
78        "updated_at": "2022-04-22T14:14:37.747826Z",
79        "available_count": 14,
80        "available_from": "2021-12-24T14:14:34Z",
81        "available_to": "2022-04-18T19:12:30Z"
82      },
83      "payouts": {
84        "status": "synced",
85        "updated_at": "2022-04-22T14:14:37.747826Z",
86        "available_count": 13,
87        "available_from": "2021-12-24T14:14:34Z",
88        "available_to": "2022-04-22T05:20:48Z"
89      },
90      "documents": {
91        "status": "synced",
92        "updated_at": "2022-04-22T14:14:37.747826Z"
93      },
94      "profiles": {
95        "status": "synced",
96        "updated_at": "2022-04-22T14:14:37.747826Z"
97      },
98      "employments": {
99        "status": "synced",
100        "updated_at": "2022-04-22T14:14:37.747826Z"
101      },
102      "reputations": {
103        "status": "synced",
104        "updated_at": "2022-04-22T14:14:37.747826Z"
105      },
106      "vehicles": {
107        "status": "synced",
108        "updated_at": "2022-04-22T14:14:37.747826Z"
109      },
110      "pay_allocations": {
111        "status": "synced",
112        "updated_at": "2022-04-22T14:14:33.552803Z"
113      },
114      "forms": null,
115      "user_uploads": null
116    },
117    "connection": {
118      "status": "connected",
119      "error_code": null,
120      "updated_at": "2022-04-22T14:14:32.843077Z",
121      "error_message": null
122    },
123    "pay_distribution": {
124      "status": "idle",
125      "error_code": null,
126      "updated_at": "2022-04-22T14:14:32.168796Z",
127      "error_message": null
128    },
129    "created_at": "2022-04-22T14:14:32.193637Z",
130    "updated_at": "2022-04-22T14:14:37.753783Z",
131    "status": "done",
132    "error_code": null,
133    "data_partner": "doordash",
134    "link_item": "doordash",
135    "item": "item_000012375",
136    "source": "doordash",
137    "employers": [
138      "doordash"
139    ],
140    "was_connected": true
141  }
142]

#Delete an account

delete/v1/accounts/{id}
  • Delete an account and all resources associated with that account: profiles, vehicles, documents, incomes, etc.
  • When the account is deleted successfully, the request responds with a 204 status and an empty response body.
Path parameters
  • #
    idstring (uuid)
    required

    ID of the account you wish to delete.

Example Request
1curl --request DELETE \
2     --url https://api.argyle.com/v1/accounts/{id} \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1"204 status code: No content."
Updating Argyle status...
© 2024 Argyle Systems Inc.argyle.com