Reports
Generate PDF summaries based on Argyle's data sets.
Before generating a report:
- To ensure full data availability, we recommend subscribing to the
users.fully_synced
webhook, which is sent when all data has been retrieved from the user's connected accounts. - Depending on the data retrieval speed limits of the underlying payroll platform, it can take from a few seconds up to several minutes after a new account connection before enough data has been synced to generate a complete report.
- Visit the data availability section of our API Guide for more information on the timing of data retrieval.
After generating a report:
- A new report object is created. Its
file_url
property contains a link to the PDF report, and theaccounts
array lists which accounts were used to generate the report. - The PDF report will also appear and can be downloaded within Console.
- (Beta) You can retrieve the content of a PDF report in JSON format.
Example reports:
#The report object
- #idstring (uuid)
Unique ID of the report object.
- #userstring (uuid)
ID of the user associated with the report.
- #reference_idstring (uuid)
"Report ID" referenced on the report PDF.
- #generated_atstring (datetime)
Timestamp (ISO 8601) when the report was generated.
- #typestring (enum)
The type of report.
- #statusstring (enum)
Progress of report generation.
- #file_urlstring
15 minute download link to the report.
A new URL can be obtained by retrieving the report by its
id
. - #last_synced_atstring (datetime)
Timestamp (ISO 8601) when the account used to generate the report was last scanned for new data before the report was generated. If multiple accounts were used, the more recent timestamp.
Used to populate the "Data as of" date on the report PDF.
- #accountsarray of objects
The accounts used to generate the report.
- #metadataobject
Any metadata for internal use added when generating the report.
- #external_idstring
The
external_id
of the user, otherwisenull
.
1{
2 "id": "43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b",
3 "user": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
4 "reference_id": "VOIE815035bf",
5 "generated_at": "2023-03-09T16:22:06.081Z",
6 "type": "voie",
7 "status": "generated",
8 "file_url": "www.argyle.com/storagename",
9 "last_synced_at": "2023-03-09T14:08:25.069Z",
10 "accounts": [
11 {
12 "id": "0187c66e-e7e5-811c-b006-2232f00f426a",
13 "item": "item_123456789",
14 "last_synced_at": "2023-03-09T14:08:25.069105Z"
15 },
16 {
17 "id": "0185a8b8-60eb-80ca-7482-5f24504573f7",
18 "item": "item_000000001",
19 "last_synced_at": "2023-03-01T05:10:59.558295Z"
20 }
21 ],
22 "metadata": {},
23 "external_id": "July_Connection"
24}
#Generate a report
Generates a new report and returns a partial report object.
1curl --request POST \
2 --url https://api.argyle.com/v2/reports \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json' \
5 --data '{
6 "user": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
7 "type": "voie"
8 }'
1{
2 "id": "43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b",
3 "user": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
4 "reference_id": "VOIE815035bf",
5 "generated_at": null,
6 "type": "voie",
7 "status": "generating",
8 "file_url": null,
9 "metadata": {}
10}
#Retrieve a report
Retrieves a report object.
- #idstring (uuid)required
ID of the report object to be retrieved.
1curl --request GET \
2 --url https://api.argyle.com/v2/reports/{id} \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
1{
2 "id": "43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b",
3 "user": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
4 "reference_id": "VOIE815035bf",
5 "generated_at": "2023-03-09T16:22:06.081Z",
6 "type": "voie",
7 "status": "generated",
8 "file_url": "www.argyle.com/storagename",
9 "last_synced_at": "2023-03-09T14:08:25.069Z",
10 "accounts": [
11 {
12 "id": "0187c66e-e7e5-811c-b006-2232f00f426a",
13 "item": "item_123456789",
14 "last_synced_at": "2023-03-09T14:08:25.069105Z"
15 },
16 {
17 "id": "0185a8b8-60eb-80ca-7482-5f24504573f7",
18 "item": "item_000000001",
19 "last_synced_at": "2023-03-01T05:10:59.558295Z"
20 }
21 ],
22 "metadata": {},
23 "external_id": "July_Connection"
24}
#Retrieve a report in JSON
(Beta) Retrieves the content of a PDF report in JSON format.
- #id.jsonstring (uuid).jsonoptional
Append
.json
after the ID of the report object.
Verification of Employment (VOE) Report:

1curl --request GET \
2 --url https://api.argyle.com/v2/reports/{id}.json \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
1{
2 "accounts": [
3 {
4 "account": "018728a3-afee-5288-8e8a-c68ceb591359",
5 "full_name": "Bob Jones",
6 "ssn": "522-09-1191",
7 "employer": "Whole Goods",
8 "employer_address": {
9 "city": "New York",
10 "country": "US",
11 "state": "NY",
12 "postal_code": "10014",
13 "line1": "852 North W St",
14 "line2": null
15 },
16 "status": "active",
17 "job_title": "Store Manager",
18 "start_date": "2020-08-28",
19 "end_date": null,
20 "last_pay_period_end_date": "2023-03-22"
21 },
22 {
23 "account": "018728a2-2fe0-cdb4-9486-70b2fe9834f9",
24 "full_name": "Bob Jones",
25 "ssn": "522-09-1191",
26 "employer": "Bullseye",
27 "employer_address": {
28 "city": "New York",
29 "country": "US",
30 "state": "NY",
31 "postal_code": "10014",
32 "line1": "119 Green Ridge",
33 "line2": null
34 },
35 "status": "active",
36 "job_title": "Clerk",
37 "start_date": "2020-06-29",
38 "end_date": null,
39 "last_pay_period_end_date": "2023-02-23"
40 }
41 ]
42}
Verification of Income and Employment (VOIE) Report:

1{
2 "accounts": [
3 {
4 "account": "018728a3-afee-5288-8e8a-c68ceb591359",
5 "full_name": "Bob Jones",
6 "birth_date": "1980-10-10",
7 "ssn": "522-09-1191",
8 "phone_number": "+18009000010",
9 "email": "[email protected]",
10 "employer": "Whole Goods",
11 "employee_address": {
12 "city": "New York",
13 "country": "US",
14 "state": "NY",
15 "postal_code": "10014",
16 "line1": "342 Fence Rd",
17 "line2": null
18 },
19 "employer_address": {
20 "city": "New York",
21 "country": "US",
22 "state": "NY",
23 "postal_code": "10014",
24 "line1": "852 North W St",
25 "line2": null
26 },
27 "status": "active",
28 "job_title": "Store Manager",
29 "start_date": "2020-08-28",
30 "last_pay_period_end_date": "2023-03-22",
31 "base_pay": {
32 "amount": "75372.62",
33 "currency": "USD",
34 "period": "annual"
35 },
36 "pay_cycle": "monthly",
37 "income": [
38 {
39 "period": "2023",
40 "currency": "USD",
41 "gross_pay": {
42 "total": 25124.2,
43 "base": 25124.2,
44 "overtime": 0,
45 "commission": 0,
46 "bonus": 0,
47 "other": 0
48 },
49 "reimbursements": 8.13,
50 "deductions": 816.53,
51 "taxes": 5715.75,
52 "fees": 0,
53 "net_pay": 18600.05
54 },
55 {
56 "period": "2022",
57 "currency": "USD",
58 "gross_pay": {
59 "total": 82866.32,
60 "base": 81653.65,
61 "overtime": 0,
62 "commission": 881.09,
63 "bonus": 331.58,
64 "other": 0
65 },
66 "reimbursements": 4.35,
67 "deductions": 3266.12,
68 "taxes": 14948.85,
69 "fees": 0,
70 "net_pay": 64655.7
71 },
72 {
73 "period": "2021",
74 "currency": "USD",
75 "gross_pay": {
76 "total": 87854.76,
77 "base": 81653.65,
78 "overtime": 5774.51,
79 "commission": 426.6,
80 "bonus": 0,
81 "other": 0
82 },
83 "reimbursements": 26.6,
84 "deductions": 3328.93,
85 "taxes": 16833.19,
86 "fees": 0,
87 "net_pay": 67719.24
88 }
89 ]
90 },
91 {
92 "account": "018728a2-2fe0-cdb4-9486-70b2fe9834f9",
93 "full_name": "Bob Jones",
94 "birth_date": "1980-10-10",
95 "ssn": "522-09-1191",
96 "phone_number": "+18009000010",
97 "email": "[email protected]",
98 "employer": "Bullseye",
99 "employee_address": {
100 "city": "New York",
101 "country": "US",
102 "state": "NY",
103 "postal_code": "10014",
104 "line1": "342 Fence Rd",
105 "line2": null
106 },
107 "employer_address": {
108 "city": "New York",
109 "country": "US",
110 "state": "NY",
111 "postal_code": "10014",
112 "line1": "119 Green Ridge",
113 "line2": null
114 },
115 "status": "active",
116 "job_title": "Clerk",
117 "start_date": "2020-06-29",
118 "last_pay_period_end_date": "2023-02-23",
119 "base_pay": {
120 "amount": "61030.57",
121 "currency": "USD",
122 "period": "annual"
123 },
124 "pay_cycle": "monthly",
125 "income": [
126 {
127 "period": "2023",
128 "currency": "USD",
129 "gross_pay": {
130 "total": 20848.92,
131 "base": 20343.52,
132 "overtime": 0,
133 "commission": 0,
134 "bonus": 505.4,
135 "other": 0
136 },
137 "reimbursements": 0,
138 "deductions": 915.48,
139 "taxes": 4475.58,
140 "fees": 0,
141 "net_pay": 15457.86
142 },
143 {
144 "period": "2022",
145 "currency": "USD",
146 "gross_pay": {
147 "total": 68070.08,
148 "base": 66116.44,
149 "overtime": 0,
150 "commission": 777.54,
151 "bonus": 1176.1,
152 "other": 0
153 },
154 "reimbursements": 18.4,
155 "deductions": 2034.4,
156 "taxes": 13274.18,
157 "fees": 0,
158 "net_pay": 52779.9
159 },
160 {
161 "period": "2021",
162 "currency": "USD",
163 "gross_pay": {
164 "total": 68378.52,
165 "base": 66116.44,
166 "overtime": 0,
167 "commission": 641.94,
168 "bonus": 1620.14,
169 "other": 0
170 },
171 "reimbursements": 20.27,
172 "deductions": 1881.82,
173 "taxes": 13731.92,
174 "fees": 0,
175 "net_pay": 52785.05
176 }
177 ]
178 }
179 ],
180 "income_totals": [
181 {
182 "period": "2023",
183 "period_total": {
184 "currency": "USD",
185 "gross_pay": {
186 "total": 45973.12,
187 "base": 45467.72,
188 "overtime": 0,
189 "commission": 0,
190 "bonus": 505.4,
191 "other": 0
192 },
193 "reimbursements": 8.13,
194 "deductions": 1732.01,
195 "taxes": 10191.33,
196 "fees": 0,
197 "net_pay": 34057.91
198 }
199 },
200 {
201 "period": "2022",
202 "period_total": {
203 "currency": "USD",
204 "gross_pay": {
205 "total": 150936.4,
206 "base": 147770.09,
207 "overtime": 0,
208 "commission": 1658.63,
209 "bonus": 1507.68,
210 "other": 0
211 },
212 "reimbursements": 22.75,
213 "deductions": 5300.52,
214 "taxes": 28223.03,
215 "fees": 0,
216 "net_pay": 117435.6
217 }
218 },
219 {
220 "period": "2021",
221 "period_total": {
222 "currency": "USD",
223 "gross_pay": {
224 "total": 156233.28,
225 "base": 147770.09,
226 "overtime": 5774.51,
227 "commission": 1068.54,
228 "bonus": 1620.14,
229 "other": 0
230 },
231 "reimbursements": 46.87,
232 "deductions": 5210.75,
233 "taxes": 30565.11,
234 "fees": 0,
235 "net_pay": 120504.29
236 }
237 }
238 ]
239}
#Delete a report
Deletes a report object.
- #idstring (uuid)required
ID of the report object to be deleted.
1curl --request DELETE \
2 --url https://api.argyle.com/v2/reports/{id} \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
1"204 status code: No content."
#List all reports
Returns an array of all report objects.
1curl --request GET \
2 --url https://api.argyle.com/v2/reports?limit=2 \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
1[
2 {
3 "id": "5b3fa756-1d76-43e1-55f6-e29fc6ae535d",
4 "user": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
5 "reference_id": "VOE5a80a995",
6 "generated_at": "2023-03-01T22:45:08.916Z",
7 "type": "voe",
8 "status": "generated",
9 "file_url": "www.argyle.com/storagename",
10 "last_synced_at": "2023-03-01T19:20:21.576Z",
11 "accounts": [
12 {
13 "id": "018e6a25-130b-3b98-a3ca-1658cb3afc26",
14 "item": "item_987654321",
15 "last_synced_at": "2023-03-01T19:20:21.576363Z"
16 }
17 ],
18 "metadata": {},
19 "external_id": null
20 },
21 {
22 "id": "43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b",
23 "user": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
24 "reference_id": "VOIE815035bf",
25 "generated_at": "2023-03-09T16:22:06.081Z",
26 "type": "voie",
27 "status": "generated",
28 "file_url": "www.argyle.com/storagename",
29 "last_synced_at": "2023-03-09T14:08:25.069Z",
30 "accounts": [
31 {
32 "id": "0187c66e-e7e5-811c-b006-2232f00f426a",
33 "item": "item_123456789",
34 "last_synced_at": "2023-03-09T14:08:25.069105Z"
35 },
36 {
37 "id": "0185a8b8-60eb-80ca-7482-5f24504573f7",
38 "item": "item_000000001",
39 "last_synced_at": "2023-03-01T05:10:59.558295Z"
40 }
41 ],
42 "metadata": {},
43 "external_id": "July_Connection"
44 }
45]
#List report availability
Returns an array of all reports that can be generated for the specified user, which accounts will be used to generate each type of report, and the timestamp (ISO 8601) each account was last scanned for new data.
An empty accounts
array means the report type cannot be generated.
- #userstring (uuid)required
ID of the user.
1curl --request GET \
2 --url https://api.argyle.com/v2/reports/availability?user=0186c5b8-8fa1-67b3-39af-14b3e18da8a7 \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
1[
2 {
3 "voie": {
4 "accounts": [
5 {
6 "id": "0185a8b8-60eb-80ca-7482-5f24504573f7",
7 "last_synced_at": "2023-03-31T14:31:10.133Z"
8 },
9 {
10 "id": "01856c65-43b6-8b5d-b32a-56b8fbda5c28",
11 "last_synced_at": "2023-02-31T14:31:10.133Z"
12 }
13 ]
14 },
15 "voe": {
16 "accounts": [
17 {
18 "id": "0185a8b8-60eb-80ca-7482-5f24504573f7",
19 "last_synced_at": "2023-03-31T14:31:10.133Z"
20 },
21 {
22 "id": "01856c65-43b6-8b5d-b32a-56b8fbda5c28",
23 "last_synced_at": "2023-02-31T14:31:10.133Z"
24 }
25 ]
26 }
27 }
28]