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
- #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.
- #link_itemstring
ID of the Link item (employer or payroll provider), that the user selected when connecting their account via Argyle Link. This value is usually human-readable.
Replaces the now deprecated
data_partner
field. - #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 thelink_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 returnsargyle_sandbox
, regardless of thelink_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
returnstrue
and staystrue
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 returnfalse
, 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. Eacherror_code
has a correspondingerror_message
. - #error_messagestring
Provides additional information on why the connection error occurred. Each
error_message
corresponds to a particularerror_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
iserror
.Each
error_code
has a correspondingerror_message
. - #error_messagestring
Provides additional information on why the direct deposit update error occurred.
Each
error_message
corresponds to a particularerror_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 synchronizationstatus
and theupdated_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, thenpay_allocations
returnsnull
.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
becomessynced
. - #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
becomessynced
. - #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
becomessynced
. - #files_countinteger
Total number of uploaded documents.
- #in_progress_countinteger
Total number of documents uploaded or response forms in progress but not submitted.
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
- Retrieve an account object with the supplied ID.
- This request returns an account object if you provided a valid identifier.
- #idstring (uuid)required
The identifier of the account to be retrieved
1curl --request GET \
2 --url https://api.argyle.com/v1/accounts/{id} \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
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
- 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 tolimit
account objects.
1curl --request GET \
2 --url https://api.argyle.com/v1/accounts?limit=2 \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
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 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.
- #idstring (uuid)required
ID of the account you wish to delete.
1curl --request DELETE \
2 --url https://api.argyle.com/v1/accounts/{id} \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
1"204 status code: No content."