Items

Users connect their payroll accounts through Items in Link.

Our Items guide provides more information on how to retrieve:

  • Which data fields an Item supports, and how often an Item is re-scanned for new data.
  • What deposit switching capabilities an Item has.
  • Whether an Item is healthy and supports new connections or is experiencing issues.
  • What data limits or other constraints the Item's underlying payroll system has, if any.


#The Item object

Attributes
  • #
    idstring

    Unique ID of the Item. ID format — item_123456789

  • #
    namestring

    Name of the Item.

  • #
    kindstring (enum)

    Type of Item.

  • #
    known_limitationsstring

    Known limitations of the Item, such as historical data limits, unique behavior, or degree of value obfuscation. Otherwise null.

  • #
    statusstring (enum)

    Health status of the Item.

  • #
    status_detailsstring

    Additional details on the Item's health status, such as degraded account connection ability or paused ongoing refresh. Otherwise null.

  • #
    logo_urlstring

    URL location of the Item's logo image file.

  • #
    is_groupingboolean

    true if the Item does not directly support account connections, but instead acts as a container for other Items.

  • #
    mapping_statusstring (enum)

    Verification status of the Item.

  • #
    matching_scorestring

    Confidence score based on the degree of similarity between the Item and the search term. Ranges from "1.00" (strong match) to "0.01" (weak match).

    matching_score is only returned when listing Items and is only applicable when the q "free-text search" query parameter is used.

  • #
    featuresobject

    What data fields the Item supports, the Item's deposit switching capabilities, and how often the Item is refreshed with new data.

    Only returned when retrieving individuals Items by Item ID.

  • #
    data_retrievalobject

    Details on how often the Item is re-scanned for new data.

  • #
    refresh_frequencystring

    How often the Item is re-scanned to check for new data, which is used to update all accounts connected to this Item.

    Rounded up to the nearest hour, in the format #hr.


    null values indicate ongoing data refreshes have temporarily been suspended. Check the Item's health status and status_details for more information.

  • #
    field_coverageobject

    Contains information on whether the Item returns data for a particular property within one of Argyle's data sets.

    Does not include object ID's, account ID's, or metadata. null values are returned for properties of new or uncommon Items until a determination on data availability can be made.

  • #
    identitiesobject

    All data fields of the identity object.

  • #
    paystubsobject

    All data fields of the paystub object.

  • #
    payroll_documentsobject

    All data fields of the payroll document object.

  • #
    deposit_destinationsobject

    All data fields of the deposit destination object.

  • #
    shiftsobject

    All data fields of the shift object.

  • #
    gigsobject

    All data fields of the gig object.

  • #
    shiftsobject

    (Upcoming release) All data fields of the shift object.

  • #
    vehiclesobject

    All data fields of the vehicle object.

  • #
    ratingsobject

    All data fields of the rating object.

  • #
    direct_deposit_switchobject

    Contains information on the Item's deposit switch capabilities.

  • #
    cardobject

    Employer supports payouts to debit cards.

  • #
    supportedboolean

    true if the Item supports payouts to debit cards.

    Generally applies to gig platforms, where users can send instant payouts to debit cards.

  • #
    max_allocationsstring (integer)

    Number of debit cards that can be added to the Item's underlying platform.

  • #
    deposit_accountobject

    Direct deposit capabilities.

  • #
    typesarray of strings

    The types of bank accounts supported.

  • #
    supportedboolean

    true if the Item supports deposit switching.

  • #
    max_allocationsstring (integer)

    Number of total bank accounts supported by the Item's underlying platform.

  • #
    amount_allocationboolean

    true if the Item's direct deposit settings support using exact amounts to define how pay is allocated to different bank accounts.

  • #
    percent_allocationboolean

    true if the Item's direct deposit settings support using exact percentages of total pay to define how pay is allocated to different bank accounts.

  • #
    amount_precisionstring (enum)

    What level of precision is allowed when setting amount allocations.

  • #
    percent_precisionstring (enum)

    What level of precision is allowed when setting percentage allocations.

Example
1{
2  "id": "item_000000003",
3  "name": "GigAndGo",
4  "kind": "gig",
5  "known_limitations": null,
6  "status": "healthy",
7  "status_details": null,
8  "logo_url": "argyle.com/image-holdings",
9  "is_grouping": false,
10  "mapping_status": "verified",
11  "features": {
12    "data_retrieval": {
13      "refresh_frequency": "6h"
14    },
15    "field_coverage": {
16      "identities": {
17        "first_name": {
18          "supported": true
19        },
20        "last_name": {
21          "supported": true
22        },
23        "...": {
24          "supported": true
25        }
26      },
27      "paystubs": {
28        "hours_ytd": {
29          "supported": false
30        },
31        "paystub_period": {
32          "start_date": {
33            "supported": true
34          },
35          "end_date": {
36            "supported": true
37          }
38        },
39        "gross_pay_list_totals": {
40          "base": {
41            "hours": {
42              "supported": true
43            },
44            "amount": {
45              "supported": true
46            },
47            "...": {
48              "supported": true
49            }
50          },
51          "overtime": {
52            "hours": {
53              "supported": true
54            },
55            "amount": {
56              "supported": true
57            },
58            "...": {
59              "supported": true
60            }
61          },
62          "...": {
63            "...": {
64              "supported": true
65            }
66          }
67        },
68        "...": {
69          "supported": true
70        }
71      },
72      "payroll_documents": {
73        "...": {
74          "supported": true
75        }
76      },
77      "deposit_destinations": {
78        "...": {
79          "supported": true
80        }
81      },
82      "shifts": {
83        "...": {
84          "supported": true
85        }
86      },
87      "gigs": {
88        "...": {
89          "supported": true
90        }
91      },
92      "vehicles": {
93        "...": {
94          "supported": true
95        }
96      },
97      "ratings": {
98        "...": {
99          "supported": true
100        }
101      }
102    },
103    "direct_deposit_switch": {
104      "card": {
105        "supported": true,
106        "max_allocations": "3"
107      },
108      "deposit_account": {
109        "types": [
110          "ach_deposit_account"
111        ],
112        "supported": true,
113        "max_allocations": "2",
114        "amount_allocation": false,
115        "percent_allocation": true,
116        "amount_precision": null,
117        "percent_precision": "0.01"
118      }
119    }
120  }
121}

#Retrieve an Item

get/v2/items/{id}

Retrieves an Item object.

Path parameters
  • #
    idstring
    required

    ID of the Item. ID format — item_123456789

Example Request
1curl --request GET \
2     --url https://api.argyle.com/v2/items/{id} \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1{
2  "id": "item_000000001",
3  "name": "Whole Goods",
4  "kind": "employer",
5  "known_limitations": "First 5 digits of SSN obfuscated.",
6  "status": "healthy",
7  "status_details": null,
8  "logo_url": "argyle.com/image-holdings",
9  "is_grouping": false,
10  "mapping_status": "verified",
11  "features": {
12    "data_retrieval": {
13      "refresh_frequency": "5h"
14    },
15    "field_coverage": {
16      "identities": {
17        "first_name": {
18          "supported": true
19        },
20        "last_name": {
21          "supported": true
22        },
23        "...": {
24          "supported": true
25        }
26      },
27      "paystubs": {
28        "hours_ytd": {
29          "supported": false
30        },
31        "paystub_period": {
32          "start_date": {
33            "supported": true
34          },
35          "end_date": {
36            "supported": true
37          }
38        },
39        "...": {
40          "supported": true
41        }
42      },
43      "payroll_documents": {
44        "...": {
45          "supported": true
46        }
47      },
48      "deposit_destinations": {
49        "...": {
50          "supported": true
51        }
52      },
53      "shifts": {
54        "...": {
55          "supported": true
56        }
57      },
58      "gigs": {
59        "...": {
60          "supported": true
61        }
62      },
63      "vehicles": {
64        "...": {
65          "supported": true
66        }
67      },
68      "ratings": {
69        "...": {
70          "supported": true
71        }
72      }
73    },
74    "direct_deposit_switch": {
75      "card": {
76        "supported": true,
77        "max_allocations": "3"
78      },
79      "deposit_account": {
80        "types": [
81          "ach_deposit_account"
82        ],
83        "supported": true,
84        "max_allocations": "2",
85        "amount_allocation": false,
86        "percent_allocation": true,
87        "amount_precision": null,
88        "percent_precision": "0.01"
89      }
90    }
91  }
92}

#List all Items

get/v2/items

Returns an array of all Item objects.

The features object is not included in "List" responses.

Query parameters
  • #
    qstring
    optional

    Free-text search filter.

    For best results, use the payroll platform or employer's full name.

  • #
    idstring(s)
    optional

    Filter by Item ID.

    Multiple Item IDs can also be searched at once using either method:

    1. /v2/items?id=item_000000001,item_000000002
    2. /v2/items?id=item_000000001&id=item_000000002

  • #
    kindstring
    optional

    Filter by kind value.

  • #
    statusstring(s)
    optional

    Filter by status value.

    Multiple status values can also be searched at once using either method:

    1. /v2/items?status=healthy,issues
    2. /v2/items?status=healthy&status=issues

    Filtering by both healthy and issues will return all Items that currently support new payroll connections.

  • #
    mapping_statusstring(s)
    optional

    Filter by mapping_status value.

    Multiple mapping_status values can also be searched at once using either method:

    1. /v2/items?mapping_status=verified,mapped
    2. /v2/items?mapping_status=verified&mapping_status=mapped

  • #
    min_matching_scoreinteger or decimal
    optional

    Only returns items with a matching_score greater than or equal to this value.

    min_matching_score should be used together with the q "free-text search" query parameter.

  • #
    filter_setstring (uuid)
    optional

    Filter by Item filter ID.

  • #
    limitinteger
    optional

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

Example Request
1curl --request GET \
2     --url https://api.argyle.com/v2/items?limit=2 \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1[
2  {
3    "id": "item_000000002",
4    "name": "Bullseye",
5    "kind": "employer",
6    "known_limitations": null,
7    "status": "unavailable",
8    "status_details": "The Item is down due to scheduled maintenance but should be back shortly.",
9    "mapping_status": "verified",
10    "logo_url": "argyle.com/image-holdings",
11    "is_grouping": false,
12    "matching_score": "1.00"
13  },
14  {
15    "id": "item_000000003",
16    "name": "Triple",
17    "kind": "platform",
18    "known_limitations": null,
19    "status": "healthy",
20    "status_details": null,
21    "mapping_status": "mapped",
22    "logo_url": "argyle.com/image-holdings",
23    "is_grouping": false,
24    "matching_score": "0.63"
25  }
26]

#Migrate a Link item ID

post/v2/item-migrations

Returns the Item ID's that correspond to a provided list of Link item ID's.

Item ID's use the convention: "item_[9 digits]" — "item_123456789" for example.

Request body
Example Request
1curl --request POST \
2     --url https://api.argyle.com/v2/item-migrations \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json' \
5     --data {"link_items": ["GigAndGo", "GigDrive", "GigAntic"]}
Example Response
1{
2  "GigAndGo": {
3    "id": "item_000000003"
4  },
5  "GigDrive": {
6    "id": "item_000000042"
7  },
8  "GigAntic": {
9    "id": "item_000000819"
10  }
11}
Updating Argyle status...
© 2024 Argyle Systems Inc.argyle.com