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.

structure of the pay allocations object

Attributes


ATTRIBUTESTYPEDESCRIPTION
idstring uuidUnique ID of the pay allocation.
accountstring uuidID of the payroll account associated with a Link item that generates the payout to the user.
employerstringThe company or entity that employs the user.
created_attimestampA timestamp when the pay allocation object was created. This will not always match the time it was updated in the payroll account.
updated_attimestampA timestamp when the pay allocation object was last updated. This will not always match the time it was updated in the payroll account.
destination_typestring enumIndicates 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.

Possible values: bank_account, card, acss_debit

📘

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.

ATTRIBUTETYPEDESCRIPTION
bank_accountobjectShows details for the bank account used in the pay allocation.
See attributes within the bank_account object.
ATTRIBUTESTYPEDESCRIPTION
bank_account.account_numberstring5 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_account.bank_namestring
optional
Represents the bank’s name on the account.
bank_account.routing_numberstring9-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.
bank_account.account_typestringThe type of the user's bank account.

Possible values: checking, savings, other.

ATTRIBUTETYPEDESCRIPTION
cardobjectShows details for the payment card used in the pay allocation.
See attributes within the card object
ATTRIBUTESTYPEDESCRIPTIONS
card.card_numberstringRepresents the card number.
card.card_namestring
optional
Represents the card’s name on the account.
card.is_platform_cardbooleanIndicates whether card is a platform card. If is_platform_card is set to true, this means that 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.

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


ATTRIBUTETYPEDESCRIPTION
acss_debitobjectShows 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.
See attributes within the acss_debit object
ATTRIBUTESTYPEDESCRIPTION
acss_debit.account_numberstringDescription: 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.
acss_debit.account_typestringThe type of the user's bank account.
acss_debit.institution_numberstring3-digit code that identifies the user’s bank.
acss_debit.transit_numberstring5-digit code that identifies the bank’s specific branch where the user holds their account.

🚧

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.


ATTRIBUTESTYPEDESCRIPTION
statusstringAccount status in the employment record source. Possible values include:

active - signifies that a pay allocation is active in the payroll account and money will be deposited to it during a payout.

inactive - signifies that a pay allocation is not active in the payroll account and money will not be deposited to it during a payout.

pending - signifies that the pay allocation was changed in Argyle Link, but is not yet propagated within the company or payroll (Link item) account.
allocation_typestringThe returned type of allocation.

Possible values: percent, amount.
currencystringThe currency of the pay allocation—for example, USD or EUR. Currencies follow the ISO 4217 format.
allocation_valuestring decimalThe amount associated with the allocation type.

allocation_value can be a decimal value (e.g. 147.27) or remainder (total salary minus any decimal allocations).
methodstring
optional
Describes the way money is transferred to this bank account or debit card.
metadataobjectMetadata holds additional available, often unstructured, information about this data resource.

Endpoints


These are the endpoints available for pay-allocations.

Endpoints
Retrieve a pay allocation - GET /pay-allocations/:id
List pay allocations - GET /pay-allocations

Example objects

{
    "id": "017dd717-d775-bb54-6fb8-8947eff46809",
    "account": "017dd717-d499-ce81-f3ac-ab7b8bb35a80",
    "destination_type": "bank_account",
    "bank_account": {
        "routing_number": "026019037",
        "account_number": "360815792690",
        "account_type": "savings",
        "bank_name": "Freedom Bank"
    },
    "status": "active",
    "allocation_type": "percent",
    "currency": "USD",
    "allocation_value": "27",
    "employer": "groger",
    "metadata": {},
    "created_at": "2021-12-20T09:06:43.701837Z",
    "updated_at": "2021-12-20T09:06:43.701874Z",
    "method": "Weekly Direct Deposit"
}
{
    "id": "017dd717-d775-bb54-6fb8-8947eff46809",
    "account": "017dd717-d499-ce81-f3ac-ab7b8bb35a80",
    "destination_type": "card",
    "card": {
        "card_number": "************4444",
        "card_name": "Viza",
        "is_platform_card": false
    },
    "bank_account": {
        "routing_number": null,
        "account_number": null,
        "account_type": null
    },
    "status": "active",
    "allocation_type": null,
    "currency": null,
    "allocation_value": null,
    "employer": "udre",
    "metadata": {},
    "created_at": "2021-12-20T09:06:43.701837Z",
    "updated_at": "2021-12-20T09:06:43.701874Z",
    "method": "Instant Payout"
}
{
    "id": "017dd717-d775-bb54-6fb8-8947eff46809",
    "account": "017dd717-d499-ce81-f3ac-ab7b8bb35a80",
    "destination_type": "acss_debit",
    "acss_debit": {
        "account_number": "************4274",
        "account_type": "DP3 - DEPOSIT ACCT3",
        "institution_number": "621",
        "transit_number": "16001"
    },
    "bank_account": {
        "routing_number": null,
        "account_number": null,
        "account_type": null
    },
    "status": "active",
    "allocation_type": "percent",
    "currency": "CAD",
    "allocation_value": "27",
    "employer": "groger",
    "metadata": {},
    "created_at": "2021-12-20T09:06:43.701837Z",
    "updated_at": "2021-12-20T09:06:43.701874Z",
    "method": "Weekly Direct Deposit"
}