Pay allocations

Learn about the /pay-allocations endpoint.

A pay distribution can have one or more pay allocation objects, which contain information like bank account details, card details, allocation type, and allocation values. Refer to the Pay Distribution guide for more information.

📘

Argyle retrieves data a user has access to in their payroll portal. Some employers and payroll platforms can fully or partially obfuscate pay distribution information (for example, account or routing number). In these cases, Argyle is only able to return the obfuscated values.

Argyle does not store full card.card_number details.

📘

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

Attributes


id string uuid

Unique ID of the pay allocation.


account string

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


employer string

The company or entity that employs the user.


created_at timestamp

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


updated_at timestamp

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


destination_type string 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.

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.


bank_account object

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

See attributes within the bank_account object.
bank_account.account_number string

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 platform, the value can be fully or partially obfuscated.


bank_account.routing_number string

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


bank_account.account_type string

The type of the user's bank account.

Possible values: checking, savings, other.


card object

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

See attributes within the card object
card.card_number string

Represents the card number.


card.card_name string optional

Represents the card’s name on the platform.


card.is_platform_card boolean

Indicates 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 platform. 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.


acss_debit object

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.

See attributes within the acss_debit object
acss_debit.account_number string

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


acss_debit.account_type string

The type of the user's bank account.


acss_debit.institution_number integer

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


acss_debit.transit_number integer

5-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, pay distribution update functionality is currently limited to U.S. employment accounts only. Pay distribution update is not yet supported for users with Canadian, or a combination of Canadian and American bank accounts.


status string

Account status in the employment record source.

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

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

A pending status signifies that the pay allocation was changed in Argyle Link, but is not yet propagated within the company or payroll (Link item) platform.

A needs_confirmation status signifies that a microdeposit verification is required.

Possible values: active, inactive, pending, needs_confirmation.


allocation_type string

The returned type of allocation.

Possible values: percent, amount.


allocation_value string decimal

The 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).


method string optional

Describes the way money is transferred to this pay distribution account.


metadata string

Metadata holds additional available, often unstructured, information about this data resource.


Endpoints

Endpoints

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

List pay allocations - GET /pay-allocations

Remove a pay allocation - DELETE /pay-allocations/:id/remove

Verify microdeposit - POST /pay-allocations/:id/activate

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"
    },
    "status": "active",
    "allocation_type": "percent",
    "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,
    "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",
    "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"
}