Users

Information about a DailyPay user

Get a user

Returns details about a user. This endpoint requires a currently authenticated user with a valid access token. Use of this endpoint does not require a Unique User ID.

SecurityuserBearerAuth
Responses
200

Full description of a user.

Response Schema: application/json
object (MonetaryAmount)

The balance that is available for advances for the user.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
Array of objects

A list of the user's employers. Only employers where the user has an active or pending account will be returned.

Array
id
string (ResourceId)

String identifier that is unique across this resource. You can safely assume the identifier to never exceed 64 characters.

full_name
required
string

The user's full name.

Example: "George Costanza"
object (MonetaryAmount)

The total amount owed by the user to DailyPay, due to overdrawn balances from past pay cycles.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
negative_balance_payoff_enrollment_required
boolean

Indicates whether or not the user needs to be enrolled in a negative balance payoff plan. If the value is true, the user will be blocked from making transfers. Enroll the user in a payoff plan or redirect them to the DailyPay app.

Example: true
remainder_setup_required
boolean

If true, the user will be blocked from making transfers until a remainder account is updated.

Example: true
scopes
Array of strings

Which scopes are authorized by the credentials given in the request for this user.

Example: ["user:read"]
object (LookupStatus)

The status of a potential user. The result can be used to determine existence of the user and eligibility for various features.

code
required
string

A code that indicates the user status.

Enum: "ACTIVE" "ELIGIBLE" "INELIGIBLE" "NOT_FOUND"
Example: "ACTIVE"
description
required
string

A message that explains the meaning of the returned user status code. Developers are advised not to make programmatic use of this value, as it may change.

Example: "The user is fully active with all features enabled."
object (Fees)

Fees incurred for performing a transfer.

object (MonetaryAmount)

Fee to conduct a transfer with schedule of NEXT_BUSINESS_DAY. The user's account will receive the requested amount less this fee.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
object (MonetaryAmount)

Fee to conduct a transfer with schedule of WITHIN_30_MINUTES . The user's account will receive the requested amount less this fee.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
user_id
required
string (ResourceId)

String identifier that is unique across this resource. You can safely assume the identifier to never exceed 64 characters.

400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

get/user
Request samples
Response samples
application/json
{
  • "scopes": [
    • "user:read"
    ],
  • "user_id": "123e4567-e89b-12d3-a456-426614174000",
  • "full_name": "George Costanza",
  • "status": {
    • "code": "ACTIVE",
    • "description": "The user is fully active with all features enabled."
    },
  • "earnings_balance": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "negative_balance": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "remainder_setup_required": true,
  • "negative_balance_payoff_enrollment_required": true,
  • "transfer_fees": {
    • "within_30_minutes_fee": {
      • "currency": "USD",
      • "amount": 7250
      },
    • "next_business_day_fee": {
      • "currency": "USD",
      • "amount": 7250
      }
    },
  • "employers": [
    • {
      • "id": "123e4567-e89b-12d3-a456-426614174000"
      }
    ]
}

Get user details

Returns details about a user via their Unique User ID.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
user_id
required
string (ResourceId)

Unique ID of the user to get the details for.

Example: f5fc4d96-844d-11ec-a8a3-0242ac120002
Responses
200

Full description of a user.

Response Schema: application/json
object (MonetaryAmount)

The balance that is available for advances for the user.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
Array of objects

A list of the user's employers. Only employers where the user has an active or pending account will be returned.

Array
id
string (ResourceId)

String identifier that is unique across this resource. You can safely assume the identifier to never exceed 64 characters.

full_name
required
string

The user's full name.

Example: "George Costanza"
object (MonetaryAmount)

The total amount owed by the user to DailyPay, due to overdrawn balances from past pay cycles.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
negative_balance_payoff_enrollment_required
boolean

Indicates whether or not the user needs to be enrolled in a negative balance payoff plan. If the value is true, the user will be blocked from making transfers. Enroll the user in a payoff plan or redirect them to the DailyPay app.

Example: true
remainder_setup_required
boolean

If true, the user will be blocked from making transfers until a remainder account is updated.

Example: true
scopes
Array of strings

Which scopes are authorized by the credentials given in the request for this user.

Example: ["user:read"]
object (LookupStatus)

The status of a potential user. The result can be used to determine existence of the user and eligibility for various features.

code
required
string

A code that indicates the user status.

Enum: "ACTIVE" "ELIGIBLE" "INELIGIBLE" "NOT_FOUND"
Example: "ACTIVE"
description
required
string

A message that explains the meaning of the returned user status code. Developers are advised not to make programmatic use of this value, as it may change.

Example: "The user is fully active with all features enabled."
object (Fees)

Fees incurred for performing a transfer.

object (MonetaryAmount)

Fee to conduct a transfer with schedule of NEXT_BUSINESS_DAY. The user's account will receive the requested amount less this fee.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
object (MonetaryAmount)

Fee to conduct a transfer with schedule of WITHIN_30_MINUTES . The user's account will receive the requested amount less this fee.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
user_id
required
string (ResourceId)

String identifier that is unique across this resource. You can safely assume the identifier to never exceed 64 characters.

400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

get/users/{user_id}
Request samples
Response samples
application/json
{
  • "scopes": [
    • "user:read"
    ],
  • "user_id": "123e4567-e89b-12d3-a456-426614174000",
  • "full_name": "George Costanza",
  • "status": {
    • "code": "ACTIVE",
    • "description": "The user is fully active with all features enabled."
    },
  • "earnings_balance": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "negative_balance": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "remainder_setup_required": true,
  • "negative_balance_payoff_enrollment_required": true,
  • "transfer_fees": {
    • "within_30_minutes_fee": {
      • "currency": "USD",
      • "amount": 7250
      },
    • "next_business_day_fee": {
      • "currency": "USD",
      • "amount": 7250
      }
    },
  • "employers": [
    • {
      • "id": "123e4567-e89b-12d3-a456-426614174000"
      }
    ]
}

Get transfer accounts

Get all transfer accounts for a user.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
user_id
required
string (ResourceId)

Unique ID of the user to get transfer accounts for.

Example: f5fc4d96-844d-11ec-a8a3-0242ac120002
Responses
200

Returns the details of the user's transfer accounts.

Response Schema: application/json
Array
required
BankAccountResponse (object) or DebitCard (object)

Properties specific to the type of the transfer account. See schemas for DebitCard or BankAccount for reference.

One of:

Properties specific to the type of the transfer account. See schemas for DebitCard or BankAccount for reference.

account_number
required
string

The account number. Responses from this API that return this number are masked to the last four digits.

Example: "XXXXXX4321"
first_name
string

The first name of the account holder.

Example: "George"
is_checking
boolean
Default: false

This is true if this account is a checking account.

is_rtp
boolean
Default: false

This is true if this account is configured to use Real-Time Payments (RTP).

last_name
string

The last name of the account holder.

Example: "Costanza"
routing_number
required
string

The routing number of the bank that holds this account. Responses from this API that return this number are masked to the last four digits.

Example: "XXXXX4321"
schedule_options
Array of strings

List of the types of transfer schedules available for this account type.

Items Enum: "NEXT_BUSINESS_DAY" "WITHIN_30_MINUTES"
Example: ["WITHIN_30_MINUTES","NEXT_BUSINESS_DAY"]
id
string

Unique ID for this account created by the server and used to retrive or modify it.

Example: "10b3d654-c6ed-40d8-9177-434942d04114"
object (DestinationAccountStatus)
code
required
string

A code that indicates the status of an account that is a destination for funds.

Enum: "ADDED" "INVALID" "UNKNOWN" "VALIDATED"
Example: "ADDED"
description
string

A message that explains the meaning of the status code. Developers are advised not to make programmatic use of this value, as it may change.

Example: "The account is on file but has not been used as a destination."
type
required
string

The type of account, e.g., a bank account

Enum: "BANK_ACCOUNT" "DEBIT_CARD"
Example: "BANK_ACCOUNT"
400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

get/users/{user_id}/transfer_accounts
Request samples
Response samples
application/json
[
  • {
    • "id": "10b3d654-c6ed-40d8-9177-434942d04114",
    • "type": "BANK_ACCOUNT",
    • "status": {
      • "code": "ADDED",
      • "description": "The account is on file but has not been used as a destination."
      },
    • "data": {
      • "first_name": "Jane",
      • "last_name": "Doe",
      • "routing_number": "XXXXX4321",
      • "account_number": "XXXXXX4321",
      • "is_checking": true,
      • "is_rtp": true,
      • "schedule_options": [
        • "WITHIN_30_MINUTES",
        • "NEXT_BUSINESS_DAY"
        ]
      }
    },
  • {
    • "id": "6d6f8941-fea5-42b9-a15c-f7bab24ceab4",
    • "type": "DEBIT_CARD",
    • "status": {
      • "code": "ADDED",
      • "description": "The account is on file but has not been used as a destination."
      },
    • "data": {
      • "first_name": "George",
      • "last_name": "Costanza",
      • "last_four": "9921",
      • "issuer": "414543",
      • "expiration_month": "12",
      • "expiration_year": "2025",
      • "schedule_options": [
        • "WITHIN_30_MINUTES"
        ]
      }
    }
]

Create a transfer account

Add a transfer account for a user. A user can have multiple transfer accounts.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
user_id
required
string

Unique ID of the user to create transfer account for.

Example: f5fc4d96-844d-11ec-a8a3-0242ac120002
Request Body schema: application/json
required

An account to use as the transfer account for the user.

required
BankAccount (object) or DebitCard (object) or DebitCard_VendorSpecific_Galileo (object) or DebitCard_VendorSpecific_Wisely (object)

Input required to create a transfer account. See schemas for DebitCard or BankAccount to view the required input format.

One of:

Input required to create a transfer account. See schemas for DebitCard or BankAccount to view the required input format.

account_number
required
string

The account number. Responses from this API that return this number are masked to the last four digits.

Example: "0123454321"
first_name
string

The first name of the account holder.

Example: "George"
last_name
string

The last name of the account holder.

Example: "Costanza"
routing_number
required
string

The routing number of the bank that holds this account. Responses from this API that return this number are masked to the last four digits.

Example: "123454321"
transfer_account_type
required
any

The type of account, e.g., a bank account

Enum: "BANK_ACCOUNT" "DEBIT_CARD"
Example: "BANK_ACCOUNT"
Responses
200

Return transfer account that was created.

Response Schema: application/json
required
BankAccountResponse (object) or DebitCard (object)

Properties specific to the type of the transfer account. See schemas for DebitCard or BankAccount for reference.

One of:

Properties specific to the type of the transfer account. See schemas for DebitCard or BankAccount for reference.

account_number
required
string

The account number. Responses from this API that return this number are masked to the last four digits.

Example: "XXXXXX4321"
first_name
string

The first name of the account holder.

Example: "George"
is_checking
boolean
Default: false

This is true if this account is a checking account.

is_rtp
boolean
Default: false

This is true if this account is configured to use Real-Time Payments (RTP).

last_name
string

The last name of the account holder.

Example: "Costanza"
routing_number
required
string

The routing number of the bank that holds this account. Responses from this API that return this number are masked to the last four digits.

Example: "XXXXX4321"
schedule_options
Array of strings

List of the types of transfer schedules available for this account type.

Items Enum: "NEXT_BUSINESS_DAY" "WITHIN_30_MINUTES"
Example: ["WITHIN_30_MINUTES","NEXT_BUSINESS_DAY"]
id
string

Unique ID for this account created by the server and used to retrive or modify it.

Example: "10b3d654-c6ed-40d8-9177-434942d04114"
object (DestinationAccountStatus)
code
required
string

A code that indicates the status of an account that is a destination for funds.

Enum: "ADDED" "INVALID" "UNKNOWN" "VALIDATED"
Example: "ADDED"
description
string

A message that explains the meaning of the status code. Developers are advised not to make programmatic use of this value, as it may change.

Example: "The account is on file but has not been used as a destination."
type
required
string

The type of account, e.g., a bank account

Enum: "BANK_ACCOUNT" "DEBIT_CARD"
Example: "BANK_ACCOUNT"
400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

post/users/{user_id}/transfer_accounts
Request samples
application/json
{
  • "transfer_account_type": "BANK_ACCOUNT",
  • "transfer_account": {
    • "first_name": "George",
    • "last_name": "Costanza",
    • "routing_number": "123454321",
    • "account_number": "0123454321"
    }
}
Response samples
application/json
{
  • "id": "10b3d654-c6ed-40d8-9177-434942d04114",
  • "type": "BANK_ACCOUNT",
  • "status": {
    • "code": "ADDED",
    • "description": "The account is on file but has not been used as a destination."
    },
  • "data": {
    • "first_name": "George",
    • "last_name": "Costanza",
    • "routing_number": "XXXXX4321",
    • "account_number": "XXXXXX4321",
    • "is_checking": false,
    • "is_rtp": false,
    • "schedule_options": [
      • "WITHIN_30_MINUTES",
      • "NEXT_BUSINESS_DAY"
      ]
    }
}

Get a transfer account

Get a transfer account by ID.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
transfer_account_id
required
string (ResourceId)

The ID returned when making POST request to /user/transfer_accounts.

Example: 045ee9e8-844e-11ec-a8a3-0242ac120002
user_id
required
string (ResourceId)

Unique ID of the user to get transfer account for.

Example: f5fc4d96-844d-11ec-a8a3-0242ac120002
Responses
200

Returns the details of the user's transfer account

Response Schema: application/json
required
BankAccountResponse (object) or DebitCard (object)

Properties specific to the type of the transfer account. See schemas for DebitCard or BankAccount for reference.

One of:

Properties specific to the type of the transfer account. See schemas for DebitCard or BankAccount for reference.

account_number
required
string

The account number. Responses from this API that return this number are masked to the last four digits.

Example: "XXXXXX4321"
first_name
string

The first name of the account holder.

Example: "George"
is_checking
boolean
Default: false

This is true if this account is a checking account.

is_rtp
boolean
Default: false

This is true if this account is configured to use Real-Time Payments (RTP).

last_name
string

The last name of the account holder.

Example: "Costanza"
routing_number
required
string

The routing number of the bank that holds this account. Responses from this API that return this number are masked to the last four digits.

Example: "XXXXX4321"
schedule_options
Array of strings

List of the types of transfer schedules available for this account type.

Items Enum: "NEXT_BUSINESS_DAY" "WITHIN_30_MINUTES"
Example: ["WITHIN_30_MINUTES","NEXT_BUSINESS_DAY"]
id
string

Unique ID for this account created by the server and used to retrive or modify it.

Example: "10b3d654-c6ed-40d8-9177-434942d04114"
object (DestinationAccountStatus)
code
required
string

A code that indicates the status of an account that is a destination for funds.

Enum: "ADDED" "INVALID" "UNKNOWN" "VALIDATED"
Example: "ADDED"
description
string

A message that explains the meaning of the status code. Developers are advised not to make programmatic use of this value, as it may change.

Example: "The account is on file but has not been used as a destination."
type
required
string

The type of account, e.g., a bank account

Enum: "BANK_ACCOUNT" "DEBIT_CARD"
Example: "BANK_ACCOUNT"
400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

get/users/{user_id}/transfer_accounts/{transfer_account_id}
Request samples
Response samples
application/json
{
  • "id": "10b3d654-c6ed-40d8-9177-434942d04114",
  • "type": "BANK_ACCOUNT",
  • "status": {
    • "code": "ADDED",
    • "description": "The account is on file but has not been used as a destination."
    },
  • "data": {
    • "first_name": "George",
    • "last_name": "Costanza",
    • "routing_number": "XXXXX4321",
    • "account_number": "XXXXXX4321",
    • "is_checking": false,
    • "is_rtp": false,
    • "schedule_options": [
      • "WITHIN_30_MINUTES",
      • "NEXT_BUSINESS_DAY"
      ]
    }
}

Get a remainder account

Get the remainder account for a user.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
user_id
required
string (ResourceId)

Unique ID of the user to get remainder account for.

Example: f5fc4d96-844d-11ec-a8a3-0242ac120002
Responses
200

Returns the details of the user's remainder account.

Response Schema: application/json
account_number
required
string

The account number. Responses from this API that return this number are masked to the last four digits.

Example: "XXXXXX4321"
first_name
string

The first name of the account holder.

Example: "George"
is_checking
boolean
Default: false

This is true if this account is a checking account.

is_rtp
boolean
Default: false

This is true if this account is configured to use Real-Time Payments (RTP).

last_name
string

The last name of the account holder.

Example: "Costanza"
routing_number
required
string

The routing number of the bank that holds this account. Responses from this API that return this number are masked to the last four digits.

Example: "XXXXX4321"
schedule_options
Array of strings

List of the types of transfer schedules available for this account type.

Items Enum: "NEXT_BUSINESS_DAY" "WITHIN_30_MINUTES"
Example: ["WITHIN_30_MINUTES","NEXT_BUSINESS_DAY"]
400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

get/users/{user_id}/remainder_account
Request samples
Response samples
application/json
{
  • "first_name": "George",
  • "last_name": "Costanza",
  • "routing_number": "XXXXX4321",
  • "account_number": "XXXXXX4321",
  • "is_checking": false,
  • "is_rtp": false,
  • "schedule_options": [
    • "WITHIN_30_MINUTES",
    • "NEXT_BUSINESS_DAY"
    ]
}

Update a remainder account

Create or update the remainder account for a user. There can only be one configured remainder account a time.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
user_id
required
string

Unique ID of the user to create/update remainder account for.

Example: f5fc4d96-844d-11ec-a8a3-0242ac120002
Request Body schema: application/json
required

A bank account to use as the remainder account for the user.

account_number
required
string

The account number. Responses from this API that return this number are masked to the last four digits.

Example: "0123454321"
first_name
string

The first name of the account holder.

Example: "George"
last_name
string

The last name of the account holder.

Example: "Costanza"
routing_number
required
string

The routing number of the bank that holds this account. Responses from this API that return this number are masked to the last four digits.

Example: "123454321"
Responses
200

Returns updated remainder bank account.

Response Schema: application/json
account_number
required
string

The account number. Responses from this API that return this number are masked to the last four digits.

Example: "XXXXXX4321"
first_name
string

The first name of the account holder.

Example: "George"
is_checking
boolean
Default: false

This is true if this account is a checking account.

is_rtp
boolean
Default: false

This is true if this account is configured to use Real-Time Payments (RTP).

last_name
string

The last name of the account holder.

Example: "Costanza"
routing_number
required
string

The routing number of the bank that holds this account. Responses from this API that return this number are masked to the last four digits.

Example: "XXXXX4321"
schedule_options
Array of strings

List of the types of transfer schedules available for this account type.

Items Enum: "NEXT_BUSINESS_DAY" "WITHIN_30_MINUTES"
Example: ["WITHIN_30_MINUTES","NEXT_BUSINESS_DAY"]
400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

put/users/{user_id}/remainder_account
Request samples
application/json
{
  • "first_name": "George",
  • "last_name": "Costanza",
  • "routing_number": "123454321",
  • "account_number": "0123454321"
}
Response samples
application/json
{
  • "first_name": "George",
  • "last_name": "Costanza",
  • "routing_number": "XXXXX4321",
  • "account_number": "XXXXXX4321",
  • "is_checking": false,
  • "is_rtp": false,
  • "schedule_options": [
    • "WITHIN_30_MINUTES",
    • "NEXT_BUSINESS_DAY"
    ]
}

Get a transfer

Look up the status of a transfer.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
id
required
string (ResourceId)

The ID used in the original POST request to /user/transfers.

Example: 26e8345f-f181-4c0b-bd97-74823dd91668
user_id
required
string (ResourceId)

Unique ID of the user to get transfer info for.

Example: f5fc4d96-844d-11ec-a8a3-0242ac120002
Responses
200

Reports the status of the requested transfer.

Response Schema: application/json
required
object (MonetaryAmount)

The amount transferred.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
date_resolved
string <date-time> (Timestamp)

A timestamp denoting the date of successful or unsuccessful resolution for the request.

date_submitted
required
string <date-time> (Timestamp)

A timestamp denoting the date of receipt for the request.

object (MonetaryAmount)

The amount of fees associated with the transfer, if any.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
id
required
string

An ID that can be used to look up the status of this transfer.

Example: "26e8345f-f181-4c0b-bd97-74823dd91668"
paycheck_ids
Array of strings (ResourceId)

A list of paychecks that the transfer is scheduled to deduct from. Call /users/{user_id}/paychecks/{paycheck_id} with an ID in the list to retrieve its details.

Example: ["123e4567-e89b-12d3-a456-426614174000"]
reason
string

The reason for the transfer.

Enum: "PAYCHECK_REMAINDER" "TRANSFER"
Example: "TRANSFER"
schedule
string

Specify when funds are scheduled to be transferred, in relation to date_submitted.

Enum: "NEXT_BUSINESS_DAY" "WITHIN_30_MINUTES"
Example: "NEXT_BUSINESS_DAY"
required
object (TransferStatus)
code
required
string

A code that indicates the current status of the transfer.

Enum: "FAILED" "NOT_FOUND" "PENDING" "SUCCESSFUL"
Example: "PENDING"
description
string

A message that explains the meaning of the status code. Developers are advised not to make programmatic use of this value, as it may change.

Example: "The request has been successfully submitted and is being processed"
error_code
string

A short string indicating an error code that can be used programatically.

Example: "CARD_EXPIRED"
transfer_account_id
required
string

Unique ID of the transfer account as returned by the /transfer endpoint on creation.

Example: "12345"
400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

get/users/{user_id}/transfers/{id}
Request samples
Response samples
application/json
{
  • "id": "26e8345f-f181-4c0b-bd97-74823dd91668",
  • "status": {
    • "code": "PENDING",
    • "error_code": "CARD_EXPIRED",
    • "description": "The request has been successfully submitted and is being processed"
    },
  • "schedule": "NEXT_BUSINESS_DAY",
  • "transfer_account_id": "12345",
  • "amount": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "fees_charged": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "reason": "TRANSFER",
  • "date_submitted": "2021-04-21T21:30:58.051Z",
  • "date_resolved": "2021-04-21T21:30:58.051Z",
  • "paycheck_ids": [
    • "123e4567-e89b-12d3-a456-426614174000"
    ]
}

List transfers

Get the 25 most recent transfers (user initiated advances and remainder payments) for a user.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
user_id
required
string (ResourceId)

Unique ID of the user to get transfers for.

Example: f5fc4d96-844d-11ec-a8a3-0242ac120002
Responses
200

Returns the details of the user's transfers.

Response Schema: application/json
Array
required
object (MonetaryAmount)

The amount transferred.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
date_resolved
string <date-time> (Timestamp)

A timestamp denoting the date of successful or unsuccessful resolution for the request.

date_submitted
required
string <date-time> (Timestamp)

A timestamp denoting the date of receipt for the request.

object (MonetaryAmount)

The amount of fees associated with the transfer, if any.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
id
required
string

An ID that can be used to look up the status of this transfer.

Example: "26e8345f-f181-4c0b-bd97-74823dd91668"
paycheck_ids
Array of strings (ResourceId)

A list of paychecks that the transfer is scheduled to deduct from. Call /users/{user_id}/paychecks/{paycheck_id} with an ID in the list to retrieve its details.

Example: ["123e4567-e89b-12d3-a456-426614174000"]
reason
string

The reason for the transfer.

Enum: "PAYCHECK_REMAINDER" "TRANSFER"
Example: "TRANSFER"
schedule
string

Specify when funds are scheduled to be transferred, in relation to date_submitted.

Enum: "NEXT_BUSINESS_DAY" "WITHIN_30_MINUTES"
Example: "NEXT_BUSINESS_DAY"
required
object (TransferStatus)
code
required
string

A code that indicates the current status of the transfer.

Enum: "FAILED" "NOT_FOUND" "PENDING" "SUCCESSFUL"
Example: "PENDING"
description
string

A message that explains the meaning of the status code. Developers are advised not to make programmatic use of this value, as it may change.

Example: "The request has been successfully submitted and is being processed"
error_code
string

A short string indicating an error code that can be used programatically.

Example: "CARD_EXPIRED"
transfer_account_id
required
string

Unique ID of the transfer account as returned by the /transfer endpoint on creation.

Example: "12345"
400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

get/users/{user_id}/transfers
Request samples
Response samples
application/json
[
  • {
    • "id": "901e4567-e89b-12d3-a456-426614174000",
    • "status": {
      • "code": "PENDING",
      • "description": "The request has been successfully submitted and is being processed"
      },
    • "schedule": "WITHIN_30_MINUTES",
    • "transfer_account_id": "234e4567-e89b-12d3-a456-426614174000",
    • "amount": {
      • "currency": "USD",
      • "amount": 2000
      },
    • "fees_charged": {
      • "currency": "USD",
      • "amount": 299
      },
    • "reason": "TRANSFER",
    • "date_submitted": "2021-04-21T21:30:58.051Z",
    • "date_resolved": "2021-04-21T21:30:58.051Z",
    • "paycheck_ids": [
      • "123e4567-e89b-12d3-a456-426614174000",
      • "678e4567-e89b-12d3-a456-426614174000"
      ]
    },
  • {
    • "id": "901e4567-e89b-12d3-a456-426614174000",
    • "status": {
      • "code": "SUCCESSFUL",
      • "description": "The request has been successfully completed"
      },
    • "schedule": "NEXT_BUSINESS_DAY",
    • "transfer_account_id": "234e4567-e89b-12d3-a456-426614174000",
    • "amount": {
      • "currency": "USD",
      • "amount": 135000
      },
    • "fees_charged": {
      • "currency": "USD",
      • "amount": 0
      },
    • "reason": "PAYCHECK_REMAINDER",
    • "date_submitted": "2021-04-21T21:30:58.051Z",
    • "date_resolved": "2021-04-19T05:30:58.051Z",
    • "paycheck_ids": [
      • "123e4567-e89b-12d3-a456-426614174000"
      ]
    }
]

Request a transfer

Request a transfer from the earnings balance. A user Remainder Account is a prerequisite for this request. Use the /users/:user_id/remainder_account endpoint to create one for the user if necessary.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
user_id
required
string (ResourceId)

Unique ID of the user to create transfer for

Example: f5fc4d96-844d-11ec-a8a3-0242ac120002
Request Body schema: application/json
required
required
object (MonetaryAmount)

The amount requested requested by the user

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
schedule
string
Default: "WITHIN_30_MINUTES"

Specify when to send this transfer. A default of WITHIN_THIRTY_MINUTES is used if schedule is unspecified. The NEXT_BUSINESS_DAY schedule is only supported for bank accounts. The WITHIN_30_MINUTES schedule is only supported for bank accounts that support RTP, and debit cards.

Enum: "NEXT_BUSINESS_DAY" "WITHIN_30_MINUTES"
Example: "WITHIN_30_MINUTES"
transfer_account_id
required
string

Unique ID of the transfer account as returned by the /user/transfer_accounts endpoint on creation

Example: "123e4567-e89b-12d3-a456-426614174000"
transfer_id
required
string

Client-provided ID to associate to this transfer

Example: "MTIzNDUxMjM0NTEyMzQ1MTIzNDU"
Responses
200

Reports the status of the transfer

Response Schema: application/json
required
object (MonetaryAmount)

The amount transferred.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
date_resolved
string <date-time> (Timestamp)

A timestamp denoting the date of successful or unsuccessful resolution for the request.

date_submitted
required
string <date-time> (Timestamp)

A timestamp denoting the date of receipt for the request.

object (MonetaryAmount)

The amount of fees associated with the transfer, if any.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
id
required
string

An ID that can be used to look up the status of this transfer.

Example: "26e8345f-f181-4c0b-bd97-74823dd91668"
paycheck_ids
Array of strings (ResourceId)

A list of paychecks that the transfer is scheduled to deduct from. Call /users/{user_id}/paychecks/{paycheck_id} with an ID in the list to retrieve its details.

Example: ["123e4567-e89b-12d3-a456-426614174000"]
reason
string

The reason for the transfer.

Enum: "PAYCHECK_REMAINDER" "TRANSFER"
Example: "TRANSFER"
schedule
string

Specify when funds are scheduled to be transferred, in relation to date_submitted.

Enum: "NEXT_BUSINESS_DAY" "WITHIN_30_MINUTES"
Example: "NEXT_BUSINESS_DAY"
required
object (TransferStatus)
code
required
string

A code that indicates the current status of the transfer.

Enum: "FAILED" "NOT_FOUND" "PENDING" "SUCCESSFUL"
Example: "PENDING"
description
string

A message that explains the meaning of the status code. Developers are advised not to make programmatic use of this value, as it may change.

Example: "The request has been successfully submitted and is being processed"
error_code
string

A short string indicating an error code that can be used programatically.

Example: "CARD_EXPIRED"
transfer_account_id
required
string

Unique ID of the transfer account as returned by the /transfer endpoint on creation.

Example: "12345"
400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

post/users/{user_id}/transfers
Request samples
application/json
{
  • "transfer_account_id": "123e4567-e89b-12d3-a456-426614174000",
  • "transfer_id": "MTIzNDUxMjM0NTEyMzQ1MTIzNDU",
  • "amount": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "schedule": "WITHIN_30_MINUTES"
}
Response samples
application/json
{
  • "id": "26e8345f-f181-4c0b-bd97-74823dd91668",
  • "status": {
    • "code": "PENDING",
    • "error_code": "CARD_EXPIRED",
    • "description": "The request has been successfully submitted and is being processed"
    },
  • "schedule": "NEXT_BUSINESS_DAY",
  • "transfer_account_id": "12345",
  • "amount": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "fees_charged": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "reason": "TRANSFER",
  • "date_submitted": "2021-04-21T21:30:58.051Z",
  • "date_resolved": "2021-04-21T21:30:58.051Z",
  • "paycheck_ids": [
    • "123e4567-e89b-12d3-a456-426614174000"
    ]
}

Get balance details

View details on user's balance and current pay period

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
user_id
required
string (ResourceId)

Unique ID of the user.

Example: 123e4567-e89b-12d3-a456-426614174000
Responses
200

User's balance details.

Response Schema: application/json
detailed_user_status
string

Status of the user. Initial status is pending until a user accepts DailyPay terms.

Enum: "active" "banned" "canceled" "canceling" "delinquent" "pending" "review"
Example: "active"
last_shift_reported_at
string <date-time> (Timestamp)

A timestamp denoting when the user's most recent gross earnings report was received by DailyPay.

400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

get/users/{user_id}/balance_details
Request samples
Response samples
application/json
{
  • "last_shift_reported_at": "2021-04-21T21:30:58.051Z",
  • "detailed_user_status": "active"
}

List paychecks

Get 25 most recent paychecks, including paychecks that have not yet been deposited.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
user_id
required
string (ResourceId)

Unique ID of the user to list paychecks for.

Example: 123e4567-e89b-12d3-a456-426614174000
Responses
200

Returns the details of the user's paychecks.

Response Schema: application/json
Array of objects (Paycheck)

An array of the 25 most recent paychecks. Each entry in the array is a separate paycheck object.

Array
employer_name
string

The name of the employer.

Example: "Paddy's Pub"
id
string (ResourceId)

String identifier that is unique across this resource. You can safely assume the identifier to never exceed 64 characters.

pay_period_ends_at
string <date-time> (Timestamp)

The last day of a paycheck's pay period. For example, a pay period that ends during the day of March 15 will have a value of 2023-03-15T00:00:00-04:00.

pay_period_starts_at
string <date-time> (Timestamp)

A timestamp denoting the beginning of the paycheck's pay period.

paycheck_scheduled_at
string <date-time> (Timestamp)

A timestamp denoting the beginning of the date the paycheck will be scheduled on. When this occurs, paycheck goes into "IN_TRANSIT" status, and no longer contributes to user's balance.

payday_at
string <date-time> (Timestamp)

A timestamp denoting the beginning of the date that the paycheck will be paid on.

remainder_account_id
string or null (NullableResourceId)

If the status code is PAY_PERIOD_OPEN or PROCESSING, this value will match the id of the user's current remainder account. If the status code is IN_TRANSIT, then this is the account the paycheck will arrive at, even if the user changes their remainder account. If the status code is DEPOSITED, then this is the account into which the paycheck was deposited, even if the user has since changed their remainder account. If the user's remainder account has not been set, the value is null.

object
object (MonetaryAmount)

The amount that this paycheck is currently contributing to the user's earnings balance. This is always $0 when status is IN_TRANSIT, DEPOSITED, or NOT_RECEIVED.

object (MonetaryAmount)

The total earned by the user for this paycheck. If the paycheck status is PAY_PERIOD_OPEN, PROCESSING, or IN_TRANSIT, this number is an estimate of total earnings. If the paycheck status is DEPOSITED or NOT_RECEIVED, this value indicates exactly how much was earned by the user during this paycheck period.

object (MonetaryAmount)

The total amount of fees paid on transfers within this pay period.

object (MonetaryAmount)

The total amount of wages transferred within this pay period. This amount includes related fees.

object (MonetaryAmount)

The amount withheld from total_earnings by the employer for taxes or other considerations. If the paycheck status is CURRENT, PROCESSING, or IN_TRANSIT, this number is an estimate of total withholdings. If the paycheck status is DEPOSITED or NOT_RECEIVED, this value indicates exactly how much was withheld from the paycheck by the employer.

400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

403

Client requires additional permissions or scopes.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

get/users/{user_id}/paychecks
Request samples
Response samples
application/json
{
  • "data": [
    • {
      • "id": "123e4567-e89b-12d3-a456-426614174000",
      • "status": {
        • "code": "PROCESSING",
        • "description": "The PROCESSING status indicates a paycheck is in processing, and may not contribute to user's balance, based on employer configuration."
        },
      • "employer_name": "Paddy's Pub",
      • "total_balance": {
        • "currency": "USD",
        • "amount": 7250
        },
      • "total_earnings": {
        • "currency": "USD",
        • "amount": 7250
        },
      • "total_withholdings": {
        • "currency": "USD",
        • "amount": 7250
        },
      • "total_transferred": {
        • "currency": "USD",
        • "amount": 7250
        },
      • "total_fees_paid": {
        • "currency": "USD",
        • "amount": 7250
        },
      • "remainder_account_id": "123e4567-e89b-12d3-a456-426614174000",
      • "paycheck_scheduled_at": "2021-04-21T21:30:58.051Z",
      • "payday_at": "2021-04-21T21:30:58.051Z",
      • "pay_period_starts_at": "2021-04-21T21:30:58.051Z",
      • "pay_period_ends_at": "2021-04-21T21:30:58.051Z"
      }
    ]
}

Get a paycheck

Lookup paycheck by ID for a detailed view of single paycheck.

SecurityclientBasicAuth or userBearerAuth
Request
path Parameters
paycheck_id
required
string (ResourceId)

Unique ID of the paycheck to view.

Example: 123e4567-e89b-12d3-a456-426614174000
user_id
required
string (ResourceId)

Unique ID of the user to list paychecks for.

Example: 123e4567-e89b-12d3-a456-426614174000
Responses
200

Returns details about a paycheck.

Response Schema: application/json
employer_name
string

The name of the employer.

Example: "Paddy's Pub"
id
string (ResourceId)

String identifier that is unique across this resource. You can safely assume the identifier to never exceed 64 characters.

pay_period_ends_at
string <date-time> (Timestamp)

The last day of a paycheck's pay period. For example, a pay period that ends during the day of March 15 will have a value of 2023-03-15T00:00:00-04:00.

pay_period_starts_at
string <date-time> (Timestamp)

A timestamp denoting the beginning of the paycheck's pay period.

paycheck_scheduled_at
string <date-time> (Timestamp)

A timestamp denoting the beginning of the date the paycheck will be scheduled on. When this occurs, paycheck goes into "IN_TRANSIT" status, and no longer contributes to user's balance.

payday_at
string <date-time> (Timestamp)

A timestamp denoting the beginning of the date that the paycheck will be paid on.

remainder_account_id
string or null (NullableResourceId)

If the status code is PAY_PERIOD_OPEN or PROCESSING, this value will match the id of the user's current remainder account. If the status code is IN_TRANSIT, then this is the account the paycheck will arrive at, even if the user changes their remainder account. If the status code is DEPOSITED, then this is the account into which the paycheck was deposited, even if the user has since changed their remainder account. If the user's remainder account has not been set, the value is null.

object
code
string

Status of this paycheck.

Enum: "DEPOSITED" "IN_TRANSIT" "NOT_RECEIVED" "PAY_PERIOD_OPEN" "PROCESSING"
Example: "PROCESSING"
description
string

A message that explains the meaning of the status code. Developers are advised not to make programmatic use of this value, as it may change.

Example: "The PROCESSING status indicates a paycheck is in processing, and may not contribute to user's balance, based on employer configuration."
object (MonetaryAmount)

The amount that this paycheck is currently contributing to the user's earnings balance. This is always $0 when status is IN_TRANSIT, DEPOSITED, or NOT_RECEIVED.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
object (MonetaryAmount)

The total earned by the user for this paycheck. If the paycheck status is PAY_PERIOD_OPEN, PROCESSING, or IN_TRANSIT, this number is an estimate of total earnings. If the paycheck status is DEPOSITED or NOT_RECEIVED, this value indicates exactly how much was earned by the user during this paycheck period.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
object (MonetaryAmount)

The total amount of fees paid on transfers within this pay period.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
object (MonetaryAmount)

The total amount of wages transferred within this pay period. This amount includes related fees.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
object (MonetaryAmount)

The amount withheld from total_earnings by the employer for taxes or other considerations. If the paycheck status is CURRENT, PROCESSING, or IN_TRANSIT, this number is an estimate of total withholdings. If the paycheck status is DEPOSITED or NOT_RECEIVED, this value indicates exactly how much was withheld from the paycheck by the employer.

amount
required
integer <currency>

An integer that represents the amount to a precision of two decimal digits. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 7250
currency
required
string

A code used to identify the currency for the amount. This is an ISO 4217 currency code.

Example: "USD"
400

Either input was invalid or user was not in necessary state

401

Client authorization is invalid.

403

Client requires additional permissions or scopes.

404

Requested resource could not be found.

500

Server experienced an unknown or unexpected error.

get/users/{user_id}/paychecks/{paycheck_id}
Request samples
Response samples
application/json
{
  • "id": "123e4567-e89b-12d3-a456-426614174000",
  • "status": {
    • "code": "PROCESSING",
    • "description": "The PROCESSING status indicates a paycheck is in processing, and may not contribute to user's balance, based on employer configuration."
    },
  • "employer_name": "Paddy's Pub",
  • "total_balance": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "total_earnings": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "total_withholdings": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "total_transferred": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "total_fees_paid": {
    • "currency": "USD",
    • "amount": 7250
    },
  • "remainder_account_id": "123e4567-e89b-12d3-a456-426614174000",
  • "paycheck_scheduled_at": "2021-04-21T21:30:58.051Z",
  • "payday_at": "2021-04-21T21:30:58.051Z",
  • "pay_period_starts_at": "2021-04-21T21:30:58.051Z",
  • "pay_period_ends_at": "2021-04-21T21:30:58.051Z"
}