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.
- 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.
Also the "Reference #" on the report PDF.
- #userstring (uuid)
ID of the user associated with the report.
- #(Deprecated) reference_idstring (uuid)
Report PDF identifier.
- #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
Download link to the report PDF.
This static URL redirects to a download page that requires Argyle authentication headers. See the dropdown below for more information.
- #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.
There is a daily limit of 10 reports per user to prevent excessive report generation due to accidental client-side errors.
If the daily report limit is reached, deleting a previously generated report from the same 24 hour period will allow another report to be generated.
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
Retrieves the content of a PDF report in JSON format.
- Report JSONs become available once the report's status is
generated
- #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 "type": "voe",
3 "report_id": "6c3fa756-2e76-43e1-55f6-e29fc6ae535d",
4 "user_id": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
5 "external_id": "March Connection",
6 "generated_at": "2023-03-26T09:19:08.916Z",
7 "last_synced_at": "2023-03-24T12:41:21.576Z",
8 "accounts": [
9 {
10 "account": "018728a3-afee-5288-8e8a-c68ceb591359",
11 "source": "Worknight",
12 "first_name": "Bob",
13 "last_name": "Jones",
14 "full_name": "Bob Jones",
15 "ssn": "522-09-1191",
16 "employer": "Whole Goods",
17 "employer_address": {
18 "city": "New York",
19 "country": "US",
20 "state": "NY",
21 "postal_code": "10014",
22 "line1": "852 North W St",
23 "line2": null
24 },
25 "status": "active",
26 "employment_type": "full-time",
27 "job_title": "Store Manager",
28 "original_hire_date": "2020-08-28",
29 "start_date": "2020-08-28",
30 "end_date": null,
31 "last_pay_period_end_date": "2023-03-22",
32 "last_paystub_date": "2023-03-24"
33 },
34 {
35 "account": "018728a2-2fe0-cdb4-9486-70b2fe9834f9",
36 "source": "Bullseye",
37 "first_name": "Bob",
38 "last_name": "Jones",
39 "full_name": "Bob Jones",
40 "ssn": "522-09-1191",
41 "employer": "Bullseye",
42 "employer_address": {
43 "city": "New York",
44 "country": "US",
45 "state": "NY",
46 "postal_code": "10014",
47 "line1": "119 Green Ridge",
48 "line2": null
49 },
50 "status": "active",
51 "employment_type": "part-time",
52 "job_title": "Clerk",
53 "original_hire_date": "2020-06-29",
54 "start_date": "2020-06-29",
55 "end_date": null,
56 "last_pay_period_end_date": "2023-02-23",
57 "last_paystub_date": "2023-02-24"
58 }
59 ]
60}
Verification of Income and Employment (VOIE) Report:
1{
2 "type": "voie",
3 "report_id": "6da4c9a3-2e63-95e5-8be3-f9a52ddc489a",
4 "user_id": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
5 "external_id": "March Connection",
6 "generated_at": "2023-03-26T09:20:06.081Z",
7 "last_synced_at": "2023-03-24T12:41:25.069Z",
8 "accounts": [
9 {
10 "account": "018728a3-afee-5288-8e8a-c68ceb591359",
11 "source": "Worknight",
12 "first_name": "Bob",
13 "last_name": "Jones",
14 "full_name": "Bob Jones",
15 "birth_date": "1980-10-10",
16 "ssn": "522-09-1191",
17 "phone_number": "+18009000010",
18 "email": "[email protected]",
19 "employer": "Whole Goods",
20 "employee_address": {
21 "city": "New York",
22 "country": "US",
23 "state": "NY",
24 "postal_code": "10014",
25 "line1": "342 Fence Rd",
26 "line2": null
27 },
28 "employer_address": {
29 "city": "New York",
30 "country": "US",
31 "state": "NY",
32 "postal_code": "10014",
33 "line1": "852 North W St",
34 "line2": null
35 },
36 "status": "active",
37 "employment_type": "full-time",
38 "job_title": "Store Manager",
39 "original_hire_date": "2020-08-28",
40 "start_date": "2020-08-28",
41 "end_date": null,
42 "last_pay_period_end_date": "2023-03-22",
43 "last_paystub_date": "2023-03-24",
44 "base_pay": {
45 "amount": "75372.62",
46 "currency": "USD",
47 "period": "annual"
48 },
49 "pay_cycle": "monthly",
50 "income": [
51 {
52 "period": "2023",
53 "currency": "USD",
54 "employer": "Whole Goods",
55 "gross_pay": {
56 "total": 25124.2,
57 "base": 25124.2,
58 "overtime": 0,
59 "commission": 0,
60 "bonus": 0,
61 "other": 0
62 },
63 "reimbursements": 8.13,
64 "deductions": 816.53,
65 "taxes": 5715.75,
66 "fees": 0,
67 "net_pay": 18600.05
68 },
69 {
70 "period": "2022",
71 "currency": "USD",
72 "employer": "Whole Goods",
73 "gross_pay": {
74 "total": 82866.32,
75 "base": 81653.65,
76 "overtime": 0,
77 "commission": 881.09,
78 "bonus": 331.58,
79 "other": 0
80 },
81 "reimbursements": 4.35,
82 "deductions": 3266.12,
83 "taxes": 14948.85,
84 "fees": 0,
85 "net_pay": 64655.7
86 },
87 {
88 "period": "2021",
89 "currency": "USD",
90 "employer": "Whole Goods",
91 "gross_pay": {
92 "total": 87854.76,
93 "base": 81653.65,
94 "overtime": 5774.51,
95 "commission": 426.6,
96 "bonus": 0,
97 "other": 0
98 },
99 "reimbursements": 26.6,
100 "deductions": 3328.93,
101 "taxes": 16833.19,
102 "fees": 0,
103 "net_pay": 67719.24
104 }
105 ]
106 },
107 {
108 "account": "018728a2-2fe0-cdb4-9486-70b2fe9834f9",
109 "source": "Bullseye",
110 "first_name": "Bob",
111 "last_name": "Jones",
112 "full_name": "Bob Jones",
113 "birth_date": "1980-10-10",
114 "ssn": "522-09-1191",
115 "phone_number": "+18009000010",
116 "email": "[email protected]",
117 "employer": "Bullseye",
118 "employee_address": {
119 "city": "New York",
120 "country": "US",
121 "state": "NY",
122 "postal_code": "10014",
123 "line1": "342 Fence Rd",
124 "line2": null
125 },
126 "employer_address": {
127 "city": "New York",
128 "country": "US",
129 "state": "NY",
130 "postal_code": "10014",
131 "line1": "119 Green Ridge",
132 "line2": null
133 },
134 "status": "active",
135 "employment_type": "part-time",
136 "job_title": "Clerk",
137 "original_hire_date": "2020-06-29",
138 "start_date": "2020-06-29",
139 "end_date": null,
140 "last_pay_period_end_date": "2023-02-23",
141 "last_paystub_date": "2023-02-24",
142 "base_pay": {
143 "amount": "61030.57",
144 "currency": "USD",
145 "period": "annual"
146 },
147 "pay_cycle": "monthly",
148 "income": [
149 {
150 "period": "2023",
151 "currency": "USD",
152 "employer": "Bullseye",
153 "gross_pay": {
154 "total": 20848.92,
155 "base": 20343.52,
156 "overtime": 0,
157 "commission": 0,
158 "bonus": 505.4,
159 "other": 0
160 },
161 "reimbursements": 0,
162 "deductions": 915.48,
163 "taxes": 4475.58,
164 "fees": 0,
165 "net_pay": 15457.86
166 },
167 {
168 "period": "2022",
169 "currency": "USD",
170 "employer": "Bullseye",
171 "gross_pay": {
172 "total": 68070.08,
173 "base": 66116.44,
174 "overtime": 0,
175 "commission": 777.54,
176 "bonus": 1176.1,
177 "other": 0
178 },
179 "reimbursements": 18.4,
180 "deductions": 2034.4,
181 "taxes": 13274.18,
182 "fees": 0,
183 "net_pay": 52779.9
184 },
185 {
186 "period": "2021",
187 "currency": "USD",
188 "employer": "Bullseye",
189 "gross_pay": {
190 "total": 68378.52,
191 "base": 66116.44,
192 "overtime": 0,
193 "commission": 641.94,
194 "bonus": 1620.14,
195 "other": 0
196 },
197 "reimbursements": 20.27,
198 "deductions": 1881.82,
199 "taxes": 13731.92,
200 "fees": 0,
201 "net_pay": 52785.05
202 }
203 ]
204 }
205 ],
206 "income_totals": [
207 {
208 "period": "2023",
209 "period_total": {
210 "currency": "USD",
211 "gross_pay": {
212 "total": 45973.12,
213 "base": 45467.72,
214 "overtime": 0,
215 "commission": 0,
216 "bonus": 505.4,
217 "other": 0
218 },
219 "reimbursements": 8.13,
220 "deductions": 1732.01,
221 "taxes": 10191.33,
222 "fees": 0,
223 "net_pay": 34057.91
224 }
225 },
226 {
227 "period": "2022",
228 "period_total": {
229 "currency": "USD",
230 "gross_pay": {
231 "total": 150936.4,
232 "base": 147770.09,
233 "overtime": 0,
234 "commission": 1658.63,
235 "bonus": 1507.68,
236 "other": 0
237 },
238 "reimbursements": 22.75,
239 "deductions": 5300.52,
240 "taxes": 28223.03,
241 "fees": 0,
242 "net_pay": 117435.6
243 }
244 },
245 {
246 "period": "2021",
247 "period_total": {
248 "currency": "USD",
249 "gross_pay": {
250 "total": 156233.28,
251 "base": 147770.09,
252 "overtime": 5774.51,
253 "commission": 1068.54,
254 "bonus": 1620.14,
255 "other": 0
256 },
257 "reimbursements": 46.87,
258 "deductions": 5210.75,
259 "taxes": 30565.11,
260 "fees": 0,
261 "net_pay": 120504.29
262 }
263 }
264 ]
265}
#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]