Users
Users connect their payroll accounts using Link.
#The user object
- #idstring (uuid)Unique ID of the user.
- #created_atstring (datetime)
Timestamp (ISO 8601) when the user object was created.
- #items_connectedarray of stringsItems the user has connected through Link. Typically employers or payroll platforms.
- #employers_connectedarray of stringsIndividual employers associated with the connected Items.
- #external_metadataJSON
Free-text field where additional context for the user can be added.
— Can be any valid JSON, such as a string or object.Using
external_id
(see below) is recommended when the ability to filter users by an external value is needed. - #external_idstring
Free-text field where additional context for the user can be added.
— Can be any string of 100 characters or less.
— Multiple users can have the sameexternal_id
.Often used to group users, or associate your internal ID's to users.
— Can be attached to invites or shareable URLs.
— Can be used as a query parameter when listing users. (Only exact matches are supported)
— Can be used to search for specific users within the Connections section of Console.
— Will appear on billing CSVs if associated with a user. - #first_namestring
Used for pre-filling Link's login screen. Provided when creating or patching the user object.
If not provided, will be populated with identities data from connected accounts.
- #last_namestring
Used for pre-filling Link's login screen. Provided when creating or patching the user object.
If not provided, will be populated with identities data from connected accounts.
- #emailstring
Used for pre-filling Link's login screen. Provided when creating or patching the user object.
If not provided, will be populated with identities data from connected accounts.
- #phone_numberstring
Used for pre-filling Link's login screen. Provided when creating or patching the user object. E.164 international format.
If not provided, will be populated with identities data from connected accounts.
- #ssnstring
Social Security number.
Only used by banking reports.
- #addressobject
Only used by banking reports.
- #citystringName of the city, town, district, or similar regional entity.
- #line1stringAddress-Line 1, usually street address or P.O. Box information.
- #line2stringAddress-Line 2, usually the apartment or unit number.
- #statestringState, county, province, region, or equivalent.
- #countrystring
Two-letter country code (ISO 3166-1 alpha-2 format).
- #postal_codestringZip code, or equivalent.
- #birth_dateobject
Only used by banking reports.
1{
2 "id": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
3 "created_at": "2023-01-30T22:25:38.971210Z",
4 "items_connected": [
5 "item_123456789",
6 "item_987654321"
7 ],
8 "employers_connected": [
9 "Whole Goods",
10 "Bullseye"
11 ],
12 "external_metadata": {
13 "notes": "In stage 1 of loan approval.",
14 "category": "Summer Initiative"
15 },
16 "external_id": "July_Connection",
17 "first_name": "Sarah",
18 "last_name": "Longfield",
19 "email": "[email protected]",
20 "phone_number": "+12125555555",
21 "ssn": null,
22 "address": {
23 "city": null,
24 "line1": null,
25 "line2": null,
26 "state": null,
27 "country": null,
28 "postal_code": null
29 },
30 "birth_date": {
31 "year": null,
32 "month": null,
33 "day": null
34 }
35}
#Create a user
Creates a new user object.
Includes a new user token in the response.
- #first_namestringPre-fill Link's login screen with this first name.optional
- #last_namestringPre-fill Link's login screen with this last name.optional
- #emailstringoptional
Pre-fill Link's login screen with this email.
Invalid email addresses will cause the request to fail.
We recommend implementing client-side email address validation and including a retry method in your applications that removes the invalid email address in response to the following
400
status code:1{ 2 "email": [ 3 "Enter a valid email address." 4 ] 5}
- #phone_numberstringoptional
Pre-fill Link's login screen with this phone number.
E.164 international format recommended.
Invalid phone numbers will cause the request to fail.
We recommend implementing client-side phone number validation and including a retry method in your applications that removes the invalid phone number in response to the following
400
status code:1{ 2 "phone_number": [ 3 "Enter a valid phone number." 4 ] 5}
- #external_metadataJSONoptional
Any valid JSON.
Must be an object
{}
when used for banking reports. - #open_bankingobjectoptional
Only required for banking reports.
- #end_userobjectContains details about the person or entity making the lending decision.required
- #namestringName of the lender or entity.required
- #addressstringStreet address or P.O. Box information (include apartment or unit numbers).required
- #citystringName of the city, town, district, or similar regional entity.required
- #statestringState, county, province, region, or equivalent.required
- #zipstringZip code, or equivalent.required
- #phonestringrequired
Phone number of the lender or entity.
Must be 10 or 11 digits (with or without hyphens).
- #external_idstringAny string. Maximum 100 characters.optional
- #ssnstringoptional
Social Security number.
Only required for banking reports.
- #addressobjectoptional
Only required for banking reports.
- #citystringName of the city, town, district, or similar regional entity.optional
- #line1stringAddress-Line 1, usually street address or P.O. Box information.optional
- #line2stringAddress-Line 2, usually the apartment or unit number.optional
- #statestringState, county, province, region, or equivalent.optional
- #countrystringoptional
Two-letter country code (ISO 3166-1 alpha-2 format).
- #postal_codestringZip code, or equivalent.optional
- #birth_dateobjectoptional
Only required for banking reports.
1curl --request POST \
2 --url https://api.argyle.com/v2/users \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
1{
2 "user_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWQiOiIxNCRhMTRkNS04YzEzLTQzZGYtOTI4Ni01OWY4NjFkOWEyMDIiLCJleHAiOjE2NzgzNDExNDMsImZpZCI6ImIyYzY4YzUwLTc2MTQtNDAwNy1iMzNmLWZiMzlkMDFmMmM3MCIsImlhdCI6MTY3ODMzNzU0MywiaXNzIjoiYXJneWxlLWNvcmUtYXV0aC1kZXYiLCJqdGkiOiI3ZTU0ZTY1NS05YWN2LTRiZDctOWI3OC0xODMxMjVkYjM1MzMiLCJzdWIiOiIwMTg2YzRiNi04ZTgyLWQ5OWMtOGY4Mi1mNjMyMjgxMzk2ZTQiLCJ1c2VyX2lkIjoiMDE4NmM0YjYtOGU4Mi1kOTljLThmODItZjYzMjI4MTM5NmU0In0.q5bkZTFAohISOcjJDb2wSzKcHmwrOM4pp9imOVybaWk",
3 "id": "018051aa-f7a9-a0db-2f38-6cfa325e9d69"
4}
#Retrieve a user
Retrieves a user object.
- #idstring (uuid)ID of the user object to be retrieved.required
1curl --request GET \
2 --url https://api.argyle.com/v2/users/{id} \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
1{
2 "id": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
3 "created_at": "2023-03-09T04:54:35.170468Z",
4 "items_connected": [
5 "item_123456789",
6 "item_987654321"
7 ],
8 "employers_connected": [
9 "Whole Goods",
10 "Bullseye"
11 ],
12 "external_metadata": {},
13 "external_id": null,
14 "first_name": "Sarah",
15 "last_name": "Longfield",
16 "email": "[email protected]",
17 "phone_number": "+12125555555",
18 "ssn": null,
19 "address": {
20 "city": null,
21 "line1": null,
22 "line2": null,
23 "state": null,
24 "country": null,
25 "postal_code": null
26 },
27 "birth_date": {
28 "year": null,
29 "month": null,
30 "day": null
31 }
32}
#Update a user
Updates a user object.
- #idstring (uuid)ID of the user object to be updated.required
- #first_namestringPre-fill Link's login screen with this first name.optional
- #last_namestringPre-fill Link's login screen with this last name.optional
- #emailstringoptional
Pre-fill Link's login screen with this email.
Invalid email addresses will cause the request to fail.
We recommend implementing client-side email address validation and including a retry method in your applications that removes the invalid email address in response to the following
400
status code:1{ 2 "email": [ 3 "Enter a valid email address." 4 ] 5}
- #phone_numberstringoptional
Pre-fill Link's login screen with this phone number.
E.164 international format recommended.
Invalid phone numbers will cause the request to fail.
We recommend implementing client-side phone number validation and including a retry method in your applications that removes the invalid phone number in response to the following
400
status code:1{ 2 "phone_number": [ 3 "Enter a valid phone number." 4 ] 5}
- #external_metadataJSONAny valid JSON.optional
- #external_idstringAny string. Maximum 100 characters.optional
1curl --request PATCH \
2 --url https://api.argyle.com/v2/users/{id} \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json' \
5 --data '{"external_metadata": {}}'
1{
2 "id": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
3 "created_at": "2023-03-09T04:54:35.170468Z",
4 "items_connected": [
5 "item_123456789",
6 "item_987654321"
7 ],
8 "employers_connected": [
9 "Whole Goods",
10 "Bullseye"
11 ],
12 "external_metadata": {
13 "notes": "Moved to stage 2 of loan approval.",
14 "category": "Summer Initiative"
15 },
16 "external_id": "July_Connection",
17 "first_name": "Sarah",
18 "last_name": "Longfield",
19 "email": "[email protected]",
20 "phone_number": "+12125555555",
21 "ssn": null,
22 "address": {
23 "city": null,
24 "line1": null,
25 "line2": null,
26 "state": null,
27 "country": null,
28 "postal_code": null
29 },
30 "birth_date": {
31 "year": null,
32 "month": null,
33 "day": null
34 }
35}
#Delete a user
Deletes a user object.
Caution — Deleting a user object will also delete all accounts and resources associated with the user.
- #idstring (uuid)ID of the user object to be deleted.required
1curl --request DELETE \
2 --url https://api.argyle.com/v2/users/{id} \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
1"204 status code: No content."
#List all users
Returns an array of all user objects.
1curl --request GET \
2 --url https://api.argyle.com/v2/users?limit=2 \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json'
1[
2 {
3 "id": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
4 "created_at": "2023-01-30T22:25:38.971210Z",
5 "items_connected": [
6 "item_123456789",
7 "item_987654321"
8 ],
9 "employers_connected": [
10 "Whole Goods",
11 "Bullseye"
12 ],
13 "external_metadata": {
14 "notes": "In stage 3 of loan approval.",
15 "category": "Summer Initiative"
16 },
17 "external_id": "July Connection",
18 "first_name": "Sarah",
19 "last_name": "Longfield",
20 "email": "[email protected]",
21 "phone_number": "+12125555555",
22 "ssn": null,
23 "address": {
24 "city": null,
25 "line1": null,
26 "line2": null,
27 "state": null,
28 "country": null,
29 "postal_code": null
30 },
31 "birth_date": {
32 "year": null,
33 "month": null,
34 "day": null
35 }
36 },
37 {
38 "id": "0186c5b8-8fa1-67b3-39af-14b3e18da8a7",
39 "created_at": "2023-01-30T23:25:38.971210Z",
40 "items_connected": [
41 "item_000000001",
42 "item_000000002"
43 ],
44 "employers_connected": [
45 "Half Bads",
46 "Triple"
47 ],
48 "external_metadata": {
49 "notes": "In stage 1 of loan approval.",
50 "category": "Summer Initiative"
51 },
52 "external_id": "August Connection",
53 "first_name": null,
54 "last_name": null,
55 "email": null,
56 "phone_number": null,
57 "ssn": null,
58 "address": {
59 "city": null,
60 "line1": null,
61 "line2": null,
62 "state": null,
63 "country": null,
64 "postal_code": null
65 },
66 "birth_date": {
67 "year": null,
68 "month": null,
69 "day": null
70 }
71 }
72]