Accounts

Accounts are payroll connections made through Link.

#The account object

Attributes
  • #
    idstring (uuid)

    Unique ID of the connected payroll account.

  • #
    userstring (uuid)

    ID of the user that connected the account.

  • #
    employersarray of strings

    Employers associated with the account.

    A single employer is usually returned per account. Exceptions can occur when an LLC and Co. version of the same employer is returned.

  • #
    itemstring

    ID of the Item in Link through which the account was connected.

  • #
    sourcestring

    Payroll data source. Typically a third-party payroll system unless the employer uses an in-house system.

  • #
    created_atstring (datetime)

    Timestamp (ISO 8601) when the user connected the account.

  • #
    updated_atstring (datetime)

    Timestamp (ISO 8601) when the account was last updated. An update occurs every time an account is scanned for new data, and when any values of the account object change (such as an updated connection status).

  • #
    scanned_atstring (datetime)

    Timestamp (ISO 8601) when the account was last scanned for new data.

    A null value indicates the account was never connected.

  • #
    connectionobject

    Object containing information about the account's connection status.

  • #
    statusstring (enum)

    Status of Argyle's connection with the user's payroll system.

  • #
    error_codestring (enum)

    The account connection error that occurred.

  • #
    error_messagestring

    Description of the error. Common causes and troubleshooting steps can be found in account connection errors.

  • #
    updated_atstring (datetime)

    Timestamp (ISO 8601) when the connection status last changed.

  • #
    direct_deposit_switchobject

    Object containing deposit switch status information.

  • #
    statusstring (enum)

    Status of a deposit switch.

  • #
    error_codestring (enum)

    The deposit switch error that occurred.

  • #
    error_messagestring

    Description of the error. Common causes and troubleshooting steps can be found in deposit switch errors.

  • #
    updated_atstring (datetime)

    Timestamp (ISO 8601) when the deposit switch status last changed.

  • #
    availabilityobject

    Object containing information on data availability for each of Argyle's data sets, and any user-uploaded documents or "can't find my income" response forms.

  • #
    statusstring (enum)

    Status of the account's most recent data scan (initial data retrieval included) or document upload submission.

  • #
    updated_atstring (datetime)

    Timestamp (ISO 8601) of the most recent change to available data.

  • #
    available_countinteger

    Number of gig events, paystubs available, or response form submissions.

    During initial data retrieval, the available_count will increase until all data has been retrieved and 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.

  • #
    available_fromstring (datetime)

    Timestamp (ISO 8601) of the earliest gig or paystub available.

  • #
    available_tostring (datetime)

    Timestamp (ISO 8601) of the latest gig or paystub available.

  • #
    ongoing_refreshobject

    Object containing the account's ongoing_refresh status (whether the account will be updated with new data after each data refresh).

  • #
    statusstring (enum)

    The account's ongoing_refresh status.

Example
1{
2  "id": "0187c66e-e7e5-811c-b006-2232f00f426a",
3  "user": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
4  "employers": [
5    "Whole Goods"
6  ],
7  "item": "item_123456789",
8  "source": "thepayrollcompany",
9  "created_at": "2023-01-30T12:53:22.561594Z",
10  "updated_at": "2023-01-30T12:55:04.478699Z",
11  "scanned_at": "2023-01-30T12:55:04.016059Z",
12  "connection": {
13    "status": "connected",
14    "error_code": null,
15    "error_message": null,
16    "updated_at": "2023-01-30T12:53:25.561594Z"
17  },
18  "direct_deposit_switch": {
19    "status": "success",
20    "error_code": null,
21    "error_message": null,
22    "updated_at": "2023-01-30T12:55:03.478699Z"
23  },
24  "availability": {
25    "shifts": {
26      "status": "synced",
27      "updated_at": "2023-01-30T12:55:03Z",
28      "available_count": 94,
29      "available_from": "2020-04-11T12:53:27Z",
30      "available_to": "2023-01-25T00:00:00Z"
31    },
32    "gigs": {
33      "status": "synced",
34      "updated_at": "2023-01-30T12:55:03Z",
35      "available_count": 217,
36      "available_from": "2020-04-11T12:53:27Z",
37      "available_to": "2023-01-25T00:00:00Z"
38    },
39    "paystubs": {
40      "status": "synced",
41      "updated_at": "2023-01-30T12:55:03Z",
42      "available_count": 68,
43      "available_from": "2020-05-11T12:53:27Z",
44      "available_to": "2023-01-29T23:59:59Z"
45    },
46    "payroll_documents": {
47      "status": "synced",
48      "updated_at": "2023-01-30T12:53:44.308912Z"
49    },
50    "identities": {
51      "status": "synced",
52      "updated_at": "2023-01-30T12:53:44.028552Z"
53    },
54    "ratings": {
55      "status": "synced",
56      "updated_at": "2023-01-30T12:55:03.359356Z"
57    },
58    "vehicles": {
59      "status": "synced",
60      "updated_at": "2023-01-30T12:53:44.321951Z"
61    },
62    "deposit_destinations": {
63      "status": "synced",
64      "updated_at": "2023-01-30T12:53:42.586391Z"
65    },
66    "user_forms": {
67      "status": "in_progress",
68      "updated_at": "2023-01-30T12:53:42.586391Z",
69      "available_count": 0,
70      "files_count": 1,
71      "in_progress_count": 1
72    },
73    "user_uploads": {
74      "status": "synced",
75      "updated_at": "2023-01-30T12:54:41.621305Z",
76      "files_count": 2,
77      "in_progress_count": 0
78    }
79  },
80  "ongoing_refresh": {
81    "status": "enabled"
82  }
83}

#Retrieve an account

get/v2/accounts/{id}

Retrieves an account object.

Path parameters
  • #
    idstring (uuid)
    required

    ID of the account object to be retrieved.

Example Request
1curl --request GET \
2     --url https://api.argyle.com/v2/accounts/{id} \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1{
2  "id": "0187c66e-e7e5-811c-b006-2232f00f426a",
3  "user": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
4  "employers": [
5    "Whole Goods"
6  ],
7  "item": "item_123456789",
8  "source": "thepayrollcompany",
9  "created_at": "2023-01-30T12:53:22.561594Z",
10  "updated_at": "2023-01-30T12:55:04.478699Z",
11  "scanned_at": "2023-01-30T12:55:04.016059Z",
12  "connection": {
13    "status": "connected",
14    "error_code": null,
15    "error_message": null,
16    "updated_at": "2023-01-30T12:53:25.561594Z"
17  },
18  "direct_deposit_switch": {
19    "status": "success",
20    "error_code": null,
21    "error_message": null,
22    "updated_at": "2023-01-30T12:55:03.478699Z"
23  },
24  "availability": {
25    "shifts": {
26      "status": "synced",
27      "updated_at": "2023-01-30T12:55:03Z",
28      "available_count": 94,
29      "available_from": "2020-04-11T12:53:27Z",
30      "available_to": "2023-01-25T00:00:00Z"
31    },
32    "gigs": {
33      "status": "synced",
34      "updated_at": "2023-01-30T12:55:03Z",
35      "available_count": 217,
36      "available_from": "2020-04-11T12:53:27Z",
37      "available_to": "2023-01-25T00:00:00Z"
38    },
39    "paystubs": {
40      "status": "synced",
41      "updated_at": "2023-01-30T12:55:03Z",
42      "available_count": 68,
43      "available_from": "2020-05-11T12:53:27Z",
44      "available_to": "2023-01-29T23:59:59Z"
45    },
46    "payroll_documents": {
47      "status": "synced",
48      "updated_at": "2023-01-30T12:53:44.308912Z"
49    },
50    "identities": {
51      "status": "synced",
52      "updated_at": "2023-01-30T12:53:44.028552Z"
53    },
54    "ratings": {
55      "status": "synced",
56      "updated_at": "2023-01-30T12:55:03.359356Z"
57    },
58    "vehicles": {
59      "status": "synced",
60      "updated_at": "2023-01-30T12:53:44.321951Z"
61    },
62    "deposit_destinations": {
63      "status": "synced",
64      "updated_at": "2023-01-30T12:53:42.586391Z"
65    },
66    "user_forms": {
67      "status": "in_progress",
68      "updated_at": "2023-01-30T12:53:42.586391Z",
69      "available_count": 0,
70      "files_count": 1,
71      "in_progress_count": 1
72    },
73    "user_uploads": {
74      "status": "synced",
75      "updated_at": "2023-01-30T12:54:41.621305Z",
76      "files_count": 2,
77      "in_progress_count": 0
78    }
79  },
80  "ongoing_refresh": {
81    "status": "enabled"
82  }
83}

#Delete an account

delete/v2/accounts/{id}

Deletes an account object.

Caution — Deleting an account object will delete all resources associated with the account, such as paystubs or uploaded documents.

Path parameters
  • #
    idstring (uuid)
    required

    ID of the account object to be deleted.

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

#List all accounts

get/v2/accounts

Returns an array of all account objects.

Query parameters
  • #
    userstring (uuid)
    optional

    Filter by user ID.

  • #
    itemstring (uuid)
    optional

    Filter by Item ID.

  • #
    ongoing_refresh_statusstring (enum)
    optional

    Filter by status of the ongoing_refresh object.

  • #
    limitinteger
    optional

    Number of account objects returned per page. Default: 10. Maximum: 200.

Example Request
1curl --request GET \
2     --url https://api.argyle.com/v2/accounts?limit=2 \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1[
2  {
3    "id": "0185a8b8-60eb-80ca-7482-5f24504573f7",
4    "user": "0186c5b8-8fa1-67b3-39af-14b3e18da8a7",
5    "employers": [
6      "Half Bads"
7    ],
8    "item": "item_000000001",
9    "source": "payrollcorp",
10    "created_at": "2023-01-30T18:25:13.491332Z",
11    "updated_at": "2023-01-30T18:46:44.034822Z",
12    "scanned_at": "2023-01-30T18:46:43.446475Z",
13    "connection": {
14      "status": "connected",
15      "error_code": null,
16      "error_message": null,
17      "updated_at": "2023-01-30T18:25:30.334956Z"
18    },
19    "direct_deposit_switch": {
20      "status": "error",
21      "error_code": "confirmation_timeout",
22      "error_message": "This user did not finish confirming the direct deposit switch.",
23      "updated_at": "2023-01-30T18:35:31.961618Z"
24    },
25    "availability": {
26      "shifts": {
27        "status": "synced",
28        "updated_at": "2023-01-30T18:46:43Z",
29        "available_count": 132,
30        "available_from": "2020-03-03T18:25:30Z",
31        "available_to": "2023-01-28T00:00:00Z"
32      },
33      "gigs": {
34        "status": "synced",
35        "updated_at": "2023-01-30T18:46:43Z",
36        "available_count": 242,
37        "available_from": "2020-03-03T18:25:30Z",
38        "available_to": "2023-01-28T00:00:00Z"
39      },
40      "paystubs": {
41        "status": "synced",
42        "updated_at": "2023-01-30T18:46:43Z",
43        "available_count": 40,
44        "available_from": "2020-03-03T18:25:30Z",
45        "available_to": "2023-01-02T00:00:00Z"
46      },
47      "payroll_documents": {
48        "status": "synced",
49        "updated_at": "2023-01-30T18:45:35.228682Z"
50      },
51      "identities": {
52        "status": "synced",
53        "updated_at": "2023-01-30T18:45:34.960629Z"
54      },
55      "ratings": {
56        "status": "synced",
57        "updated_at": "2023-01-30T18:45:35.235989Z"
58      },
59      "vehicles": {
60        "status": "synced",
61        "updated_at": "2023-01-30T18:45:35.237573Z"
62      },
63      "deposit_destinations": {
64        "status": "synced",
65        "updated_at": "2023-01-30T18:25:31.438790Z"
66      },
67      "user_forms": null,
68      "user_uploads": null
69    },
70    "ongoing_refresh": {
71      "status": "enabled"
72    }
73  },
74  {
75    "id": "01856c65-43b6-8b5d-b32a-56b8fbda5c28",
76    "user": "0186c5b8-8fa1-67b3-39af-14b3e18da8a7",
77    "employers": [],
78    "item": "item_000012271",
79    "source": "doc_upload_item",
80    "created_at": "2023-01-30T15:15:53.176751Z",
81    "updated_at": "2023-01-30T15:16:12.042848Z",
82    "scanned_at": null,
83    "connection": {
84      "status": "connecting",
85      "error_code": null,
86      "error_message": null,
87      "updated_at": "2023-01-30T15:16:14.695063Z"
88    },
89    "direct_deposit_switch": {
90      "status": "idle",
91      "error_code": null,
92      "error_message": null,
93      "updated_at": "2023-01-30T15:16:11.703173Z"
94    },
95    "availability": {
96      "shifts": null,
97      "gigs": null,
98      "paystubs": null,
99      "payroll_documents": null,
100      "identities": null,
101      "ratings": null,
102      "vehicles": null,
103      "deposit_destinations": null,
104      "user_forms": {
105        "status": "synced",
106        "updated_at": "2023-01-30T15:16:12.012335Z",
107        "available_count": 1,
108        "files_count": 3,
109        "in_progress_count": 0
110      },
111      "user_uploads": null
112    },
113    "ongoing_refresh": {
114      "status": "idle"
115    }
116  }
117]

#Disable account updates

post/v2/accounts/{id}/disable-ongoing-refresh

Disables ongoing_refresh for an individual account.

To access this feature, reach out to our team for assistance.


After ongoing_refresh is disabled:

  • The specified account will no longer receive data updates.
  • If the user returns to Link and reconnects the account:
    1. The account will immediately be re-scanned and its data updated.
    2. The account will be billed as a new account connection.
    3. Ongoing refresh will be re-enabled for the account.
Path parameters
  • #
    idstring (uuid)
    required

    ID of the account object.

Example Request
1curl --request POST \
2     --url https://api.argyle.com/v2/accounts/{id}/disable-ongoing-refresh \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1"200 status code: Request succeeded."
Updating Argyle status...
© 2024 Argyle Systems Inc.argyle.com