>  Switch To Link 5 and API v2 Documentation

Pay Allocations

Learn about the /pay-allocations endpoint.

  • A payroll account can have one or more pay allocation objects, which represent the bank accounts and/or cards that are connected with the payroll account. Pay allocation objects contain information like bank account details, card details, allocation type, and allocation values.
  • Argyle retrieves data a user has access to in their payroll portal. Some employers and payroll providers can fully or partially obfuscate information within a pay allocation (for example, account or routing number). In these cases, Argyle is only able to return the obfuscated values.

Argyle is PCI DSS Level 2 compliant. Learn more about security and compliance at Argyle here.


#The pay allocation object

Attributes
  • #
    idstring (uuid)

    Unique ID of the pay allocation.

  • #
    accountstring (uuid)

    ID of the payroll account associated with a Link item that generates the payout to the user.

  • #
    employerstring

    The company or entity that employs the user.

  • #
    destination_typestring (enum)

    Indicates the destination type of the pay allocation.


    The destination details of a pay allocation are returned dynamically in an object within the payload, depending on the value of the destination_type field. For example, if destination_type is card, the destination details are shown in the card object.

  • #
    statusstring (enum)

    Account status in the employment record source.

  • #
    allocation_typestring (enum)

    The returned type of allocation — either percent or amount.

  • #
    currencystring

    The currency of the pay allocation—for example, USD or EUR. Currencies follow the ISO 4217 format.

  • #
    allocation_valuestring

    The amount associated with the allocation type. Can be a decimal value (e.g. 147.27) or remainder (total salary minus any other allocations).

  • #
    methodstring

    Describes the way money is transferred to this bank account or debit card.

  • #
    bank_accountobject

    Shows details for the bank account used in the pay allocation.

    To maintain backward compatibility, the bank_account object is always returned with the pay allocation, even if destination_type is not bank_account. In such cases, all fields within the bank_account object return null.

  • #
    account_numberstring

    5 to 17-digit code that identifies the user as the account holder in the bank. In most cases, the account number will be 8-17 digits long. Depending on the payroll provider, the value can be fully or partially obfuscated.

  • #
    bank_namestring

    Represents the bank's name on the account.

  • #
    routing_numberstring

    9-digit code that is based on the bank location where the user's account was opened. Depending on the payroll provider, the value can be fully or partially obfuscated.

  • #
    account_typestring

    The type of the user's bank account.

  • #
    cardobject
    optional

    Shows details for the payment card used in the pay allocation.

    Argyle is PCI DSS Level 2 compliant. Learn more about security and compliance at Argyle here.

  • #
    card_numberstring

    Represents the card number.

  • #
    card_namestring

    Represents the card's name on the account.

  • #
    is_platform_cardboolean

    Indicates whether the card is a platform card. If true, the card was issued by a platform such as Uber or Lyft, together with their banking partner.

    Platform card numbers are not usually exposed in the payroll account. When a card number is not exposed, a fully-obfuscated card number is returned.

  • #
    acss_debitobject
    optional

    Shows details for the bank account used in the pay allocation. This type of bank account uses the Automated Clearing Settlement System, which enables pre-authorized debit payments in Canada.

    The Argyle API returns pay allocation details for users with U.S., Canadian, or even a combination of bank accounts, where a user might have pay allocations for a U.S. bank account and a Canadian bank account simultaneously. However, direct deposit switching functionality is currently limited to U.S. employment accounts only. Direct deposit updates are not yet supported for users with Canadian, or a combination of Canadian and American bank accounts.

  • #
    account_numberstring

    7 to 12-digit code that identifies the user as the account holder in the bank. Depending on the payroll provider, the value can be fully or partially obfuscated.

  • #
    account_typestring

    The type of the user's bank account.

  • #
    institution_numberstring

    3-digit code that identifies the user's bank.

  • #
    transit_numberstring

    5-digit code that identifies the bank's specific branch where the user holds their account.

  • #
    created_atstring (timestamp)

    A timestamp when the pay allocation object was created. This will not always match the time it was updated in the payroll account.

  • #
    updated_atstring (timestamp)

    A timestamp when the pay allocation object was last updated. This will not always match the time it was updated in the payroll account.

  • #
    metadataobject

    Holds additional available, often unstructured information about this data resource.



Example — bank account
1{
2  "id": "017dd717-d775-bb54-6fb8-8947eff46809",
3  "account": "017dd717-d499-ce81-f3ac-ab7b8bb35a80",
4  "employer": "groger",
5  "destination_type": "bank_account",
6  "status": "active",
7  "allocation_type": "percent",
8  "currency": "USD",
9  "allocation_value": "27",
10  "method": "Weekly Direct Deposit",
11  "bank_account": {
12    "account_number": "360815792690",
13    "bank_name": "Freedom Bank",
14    "routing_number": "026019037",
15    "account_type": "savings"
16  },
17  "created_at": "2021-12-20T09:06:43.701837Z",
18  "updated_at": "2021-12-20T09:06:43.701874Z",
19  "metadata": {}
20}
Example — card
1{
2  "id": "017dd717-d775-bb54-6fb8-8947eff46809",
3  "account": "017dd717-d499-ce81-f3ac-ab7b8bb35a80",
4  "employer": "udre",
5  "destination_type": "card",
6  "status": "active",
7  "allocation_type": null,
8  "currency": null,
9  "allocation_value": null,
10  "method": "Instant Payout",
11  "bank_account": {
12    "account_number": null,
13    "bank_name": null,
14    "routing_number": null,
15    "account_type": null
16  },
17  "card": {
18    "card_number": "************4444",
19    "card_name": "Viza",
20    "is_platform_card": false
21  },
22  "created_at": "2021-12-20T09:06:43.701837Z",
23  "updated_at": "2021-12-20T09:06:43.701874Z",
24  "metadata": {}
25}
Example — Canadian debit account
1{
2  "id": "017dd717-d775-bb54-6fb8-8947eff46809",
3  "account": "017dd717-d499-ce81-f3ac-ab7b8bb35a80",
4  "employer": "groger",
5  "destination_type": "acss_debit",
6  "status": "active",
7  "allocation_type": "percent",
8  "currency": "CAD",
9  "allocation_value": "27",
10  "method": "Weekly Direct Deposit",
11  "bank_account": {
12    "account_number": null,
13    "bank_name": null,
14    "routing_number": null,
15    "account_type": null
16  },
17  "acss_debit": {
18    "account_number": "************4274",
19    "account_type": "DP3 - DEPOSIT ACCT3",
20    "institution_number": "621",
21    "transit_number": "16001"
22  },
23  "created_at": "2021-12-20T09:06:43.701837Z",
24  "updated_at": "2021-12-20T09:06:43.701874Z",
25  "metadata": {}
26}

#Retrieve a pay allocation

get/v1/pay-allocations/{id}
  • Retrieve a pay allocation object with the supplied ID.
  • This request returns a pay allocation object if you provided a valid identifier.
  • See Pay allocations for descriptions of all fields in the object.
Path parameters
  • #
    idstring (uuid)
    required

    The identifier of the pay allocation to be retrieved.

Example Request
1curl --request GET \
2     --url https://api.argyle.com/v1/pay-allocations/{id} \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1{
2  "id": "017dd717-d775-bb54-6fb8-8947eff46809",
3  "account": "017dd717-d499-ce81-f3ac-ab7b8bb35a80",
4  "destination_type": "bank_account",
5  "bank_account": {
6    "routing_number": "026019037",
7    "account_number": "360815792690",
8    "account_type": "savings"
9  },
10  "status": "active",
11  "allocation_type": "percent",
12  "currency": "USD",
13  "allocation_value": "27",
14  "employer": "groger",
15  "metadata": {},
16  "created_at": "2021-12-20T09:06:43.701837Z",
17  "updated_at": "2021-12-20T09:06:43.701874Z",
18  "method": "Weekly Direct Deposit"
19}

#List pay allocations

get/v1/pay-allocations
  • List all pay allocation objects.
  • This request returns an object with a results property that contains an array of up to limit pay allocation objects.
Query parameters
  • #
    accountstring (uuid)
    optional

    Return only pay allocations for the account with the provided ID.

  • #
    userstring (uuid)
    optional

    Return only pay allocations for the user with the provided ID.

  • #
    limitinteger
    optional

    The number of pay allocation objects to be returned. The default is 10. Max value is 200.

Example Request
1curl --request GET \
2     --url https://api.argyle.com/v1/pay-allocations?limit=2 \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1[
2  {
3    "id": "0180d690-319b-525e-daec-a8386140ae55",
4    "account": "017dd717-d499-ce81-f3ac-ab7b8bb35a80",
5    "destination_type": "acss_debit",
6    "acss_debit": {
7      "account_number": "200110273312",
8      "account_type": "DP3 - DEPOSIT ACCT3",
9      "institution_number": "260",
10      "transit_number": "11242"
11    },
12    "bank_account": {
13      "routing_number": null,
14      "account_number": null,
15      "account_type": null
16    },
17    "status": "active",
18    "allocation_type": "amount",
19    "currency": "CAD",
20    "allocation_value": "remainder",
21    "employer": "groger",
22    "metadata": {},
23    "created_at": "2022-05-18T09:46:55.772127Z",
24    "updated_at": "2022-05-18T09:46:55.772174Z",
25    "method": null
26  },
27  {
28    "id": "0180d690-3187-8ef6-2d32-8b91bf8e1504",
29    "account": "017dd717-d499-ce81-f3ac-ab7b8bb35a80",
30    "destination_type": "card",
31    "card": {
32      "card_number": "************4444",
33      "card_name": "Viza",
34      "is_platform_card": false
35    },
36    "bank_account": {
37      "routing_number": null,
38      "account_number": null,
39      "account_type": null
40    },
41    "status": "active",
42    "allocation_type": null,
43    "currency": null,
44    "allocation_value": null,
45    "employer": "groger",
46    "metadata": {},
47    "created_at": "2022-05-18T09:46:55.752296Z",
48    "updated_at": "2022-05-18T09:46:55.752346Z",
49    "method": "Instant Payout"
50  }
51]
Updating Argyle status...
© 2024 Argyle Systems Inc.argyle.com