Skip to content

DailyPay Public Rest API (3.0.0-beta01)

Embed DailyPay and On Demand Pay features into your application.

Download OpenAPI description
Overview
Languages
Servers
Mock server

https://developer.dailypay.com/_mock/developer-resources/documentation/

DailyPay REST API server

https://api.{environment}.com/

API Status

Please subscribe to the DailyPay Status Page for the current status of the DailyPay Public REST API.

Environments

In general, DailyPay APIs have two environments per API and follow the naming structure of api.dailypay.com for the Production environment and api.dailypayuat.com for the UAT environment.

DailyPay APIs and their respective environments

API NameProduction URLUAT URL
DailyPay Public REST APIhttps://api.dailypay.comhttps://api.dailypayuat.com
Data Exchange APIhttps://api.dailypay.comhttps://api.dailypayuat.com
Payments APIhttps://payments-api.dailypay.comhttps://payments-api.dailypayuat.com

Key differences between the Production and UAT environments:

EnvironmentPurposeAccessData
ProductionLive environment for processing production API TrafficRestricted access for authorized clients and users onlyReal production data exchanges including money movement
UATStaging environment for developers to test new features, updates, and changesLess restricted access for both developers and testersTest data and exchanges without money movement

Functionality Differences

FunctionUATProduction
Testing user data without PII
Ability to mock transfer of funds
Ability to integrate with custom code
Access to real-world transactions like ACH Deposits
Live customer data
Live transactions moving real funds

Filtering

Efficiently retrieve DailyPay REST API resources with filtering queries by specifying query parameters in the request URL. This guide outlines how to build your queries.

The request URL for a filtered query is structured as follows:

https://api.dailypay.com/{endpoint}?filter[{field}]={value}

Each filter is a standard URL query parameter key-value pair. Filter parameters follow the jsonapi specification of a query parameter family, where the parameter key is the base name filter followed by a square-bracketed ([]) field name.

  • The {endpoint} is the resource you want to filter, such as organizations, transfers, or paychecks.
  • A {field} is the attribute of a resource you want to filter by, such as a person's employee ID or a transfer's status.
  • A {value} is any value that could be a valid payload for the attribute, such as "DailyPay" for an organization name, or "PROCESSING" for a transfer status.

URL Encoding

The symbols used in DailyPay's filter strings MUST be urlencoded.

For example, a curl would look like:

curl  \
  --get 'https://api.dailypayuat.com/rest/jobs' \
  --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --data-urlencode "filter[external_identifiers.primary_identifier]=040919553433" \
  --include

When using one of our published SDKs, you do not have to transform or urlencode filter keys.

Examples

Exact Match

Filter for a paycheck with the status "IN_TRANSIT".

GET https://api.dailypay.com/paychecks?filter[status]=IN_TRANSIT

Multiple Filters: ALL

Use multiple query parameters across different fields filter[{field}]={value} at the same time to fine tune the response. Each result will match all filters.

GET https://api.dailypay.com/paychecks?filter[job.id]=12345&filter[status]=PROCESSING

Versioning

  • Each API at DailyPay adheres to semver standards for versioning, represented as MAJOR.MINOR.PATCH:

    • The MAJOR version is incremented for breaking changes.
    • The MINOR version is incremented for backwards compatible changes.
    • The PATCH version is incremented for backwards compatible bug fixes.
  • DailyPay will issue a new major API version when a breaking change occurs.

  • To avoid breaking your code, developers are responsible for updating their API calls to interact with new versions of the DailyPay APIs.

  • Communication about API changes will be in the changelogs for the APIs or available from your DailyPay representatives.

DailyPay views the following items as backwards compatible non-breaking changes:

  • New resources
  • New optional query parameters
  • New optional body properties on PATCH, POST, PUT
  • New properties on existing API responses
  • Property order changes on existing API responses
  • Changes to the content, length, or format of error messages and other human-readable strings

Selecting the API Version

Your API version controls the API behavior, properties in responses, available parameters in requests, and so on.

If you want to use API version v3 of the DailyPay Public REST API, specify the URL https://api.dailypay.com/rest or https://api.dailypayuat.com/rest.

Accounts

The accounts endpoint provides comprehensive information about money accounts. You can retrieve account details, including the account's unique ID, a link to the account holder, type, subtype, verification status, balance details, transfer capabilities, and user-specific information such as names, routing numbers, and partial account numbers.

Functionality: Access detailed user account information, verify account balances, view transfer capabilities, and access user-specific details associated with each account.

Operations

Request

Returns details about an account. This object represents a person's bank accounts, debit and pay cards, and earnings balance accounts.

Security
oauth_client_credentials_token or oauth_user_token
Path
account_idstring(uuid)required

Unique UUID of the Account.

Example: 2bc7d781-3247-46f6-b60f-4090d214936a
Headers
DailyPay-API-Versioninteger

The version of the DailyPay API to use for this request. If not provided, the latest version of the API will be used.

Default 3
Acceptstring

The media type of the requested payload. This should be set to application/vnd.api+json to signify your client can receive responses in the JSON:API format. For more details, see https://jsonapi.org.

Default application/vnd.api+json
Enum"application/vnd.api+json""*/*"
import { SDK } from "@dailypay/dailypay";

const sdk = new SDK({
  version: 3,
  security: {
    oauthClientCredentialsToken: {
      clientID: "<YOUR_CLIENT_ID_HERE>",
      clientSecret: "<YOUR_CLIENT_SECRET_HERE>",
      tokenURL: "<YOUR_TOKEN_URL_HERE>",
    },
  },
});

async function run() {
  const result = await sdk.accounts.read({
    accountId: "2bc7d781-3247-46f6-b60f-4090d214936a",
  });

  console.log(result);
}

run();

Responses

Returns the account object.

Bodyapplication/vnd.api+json
dataobject(AccountResource)required
data.​idstring(uuid)read-onlyrequired

The unique identifier of the Account.

Example: "2bc7d781-3247-46f6-b60f-4090d214936a"
data.​typestringrequired

The type of the resource. Always accounts.

Example: "accounts"
Value "accounts"
data.​attributesCard (object) or Earnings Balance (read only) (object) or Depository (object)(AccountAttributes)required
One of:

An account with type CARD and subtype DAILYPAY or DEBIT.

data.​attributes.​verification_statusstringread-onlyrequired

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

Enum"VERIFICATION_PENDING""VERIFICATION_FAILED""VERIFIED"
Example: "VERIFIED"
data.​attributes.​balancesobjectread-onlyrequired
data.​attributes.​balances.​availableinteger or null>= 0read-onlyrequired

The amount of funds available to be withdrawn from the account.

For earnings_balance-type accounts, the available balance typically equals the current balance less any pending outflows, plus any pending inflows,

This value is in units of the lowest denomination in the associated currency. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 12000
data.​attributes.​balances.​currentinteger or null>= 0read-onlyrequired

The total amount of funds settled in the account.

This value is in units of the lowest denomination in the associated currency. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Special note for earnings_balance-type accounts: During a typical pay period, if a user transfers no money from an earnings_balance-type account to a personal account, the current balance will generally be 0, because transfers from earnings to this account will be PENDING until the paycheck related to those earnings is processed. Pending inflows are included in the available balance, not the current balance.

If a user transfers money from an earnings_balance-type account to a personal account, the current balance will be negative as those transfers settle. When a paycheck is processed, DailyPay will automatically attempt to zero out the balance, transferring any remaining funds to the default_paycheck_destination set for the associated Job.

If DailyPay is unable to zero out the balance during paycheck processing, the current balance will remain negative, which may impact a user's ability to transfer additional funds from their earnings balance. In those cases, the available balance will be 0.

Example: 50000
data.​attributes.​balances.​currencystringread-onlyrequired

A three-letter ISO 4217 currency code. For example, USD for US Dollars, EUR for Euros, or JPY for Japanese Yen.

Example: "USD"
data.​attributes.​capabilitiesobjectread-onlyrequired
data.​attributes.​capabilities.​transfer_destinationArray of objects(TransferDestinationCapability)>= 0 itemsrequired

List of the timing and associate fees available when crediting this account as a transfer destination.

Actual fees may differ at the time of transfer; please refer to the transfer preview attribute for the most accurate fee information for any given transfer.

Example: [{"schedule":"WITHIN_THIRTY_MINUTES","fee":300,"currency":"USD"},{"schedule":"NEXT_BUSINESS_DAY","fee":0,"currency":"USD"}]
data.​attributes.​capabilities.​transfer_destination[].​schedulestringrequired

The expected time for the transfer to be completed.

Enum"WITHIN_THIRTY_MINUTES""NEXT_BUSINESS_DAY"
Example: "WITHIN_THIRTY_MINUTES"
data.​attributes.​capabilities.​transfer_destination[].​feeintegerrequired

A monetary quantity expressed in units of the lowest denomination in the associated currency. For example, { amount: 299, currency: 'USD' } resolves to $2.99.

If a transfer incurs a fee, the fee will be deducted from the amount of the transfer.

Example: 0
data.​attributes.​capabilities.​transfer_destination[].​currencystring(Currency)required

A three-letter ISO 4217 currency code. For example, USD for US Dollars, EUR for Euros, or JPY for Japanese Yen.

data.​attributes.​namestringrequired

Display name for this account.

Example: "Debit Card"
data.​attributes.​account_typestringrequired

The type of account. It differentiates between depository accounts (e.g. bank account), cards (e.g. debit) and earnings balance type of accounts (e.g. on demand pay).

Value "CARD"
data.​attributes.​subtypestringrequired

The subtype of the account. Additional subtypes may be added over time

Enum"DEBIT""DAILYPAY"
Example: "DEBIT"
data.​attributes.​detailsobjectrequired

The banking details of the account and account holder.

data.​attributes.​details.​last_fourstringread-onlyrequired

Last four digits of the card number.

Example: "0003"
data.​attributes.​details.​issuerstringrequired

The issuer of the card.

Example: "411600"
data.​attributes.​details.​first_namestringrequired

The first name of the account holder.

Example: "Edith"
data.​attributes.​details.​last_namestringrequired

The last name of the account holder.

Example: "Clarke"
data.​attributes.​details.​expiration_monthstringrequired

The month of the expiration date for the card.

Example: "02"
data.​attributes.​details.​expiration_yearstringrequired

The year of the expiration date for the card.

Example: "2025"
data.​linksobject(AccountLinks)read-onlyrequired
data.​links.​selfstring(uri)(AccountLink)read-onlyrequired

The URI for the account

data.​relationshipsobject(AccountRelationships)required
data.​relationships.​personobject(PersonRelationship)required
data.​relationships.​person.​dataobject(PersonIdentifier)required
data.​relationships.​person.​data.​typestringrequired
Value "people"
data.​relationships.​person.​data.​idstring(uuid)required
Example: "3fa8f641-5717-4562-b3fc-2c963f66afa6"
Response
application/vnd.api+json
{ "data": { "id": "2bc7d781-3247-46f6-b60f-4090d214936a", "type": "accounts", "attributes": { "verification_status": "VERIFIED", "balances": {}, "capabilities": {}, "name": "Debit Card", "account_type": "CARD", "subtype": "DEBIT", "details": {} }, "links": { "self": "https://api.dailypay.com/rest/accounts/2bc7d781-3247-46f6-b60f-4090d214936a" }, "relationships": { "person": {} } } }

Request

Returns a list of account objects. An account object represents a person's bank accounts, debit and pay cards, and earnings balance accounts. See Filtering Accounts for a description of filterable fields.

Security
oauth_client_credentials_token or oauth_user_token
Query
filter[person.id]string

Limit the results to documents related to a specific person

filter[account_type]string

Limit the results to documents matching the specified account type.

Enum"EARNINGS_BALANCE""DEPOSITORY""CARD"
Example: filter[account_type]=EARNINGS_BALANCE
filter[subtype]string

Limit the results to documents matching the specified account subtype.

filterstringDeprecated
Headers
DailyPay-API-Versioninteger

The version of the DailyPay API to use for this request. If not provided, the latest version of the API will be used.

Default 3
Acceptstring

The media type of the requested payload. This should be set to application/vnd.api+json to signify your client can receive responses in the JSON:API format. For more details, see https://jsonapi.org.

Default application/vnd.api+json
Enum"application/vnd.api+json""*/*"
import { SDK } from "@dailypay/dailypay";

const sdk = new SDK({
  version: 3,
  security: {
    oauthClientCredentialsToken: {
      clientID: "<YOUR_CLIENT_ID_HERE>",
      clientSecret: "<YOUR_CLIENT_SECRET_HERE>",
      tokenURL: "<YOUR_TOKEN_URL_HERE>",
    },
  },
});

async function run() {
  const result = await sdk.accounts.list({
    filterAccountType: "EARNINGS_BALANCE",
  });

  console.log(result);
}

run();

Responses

Returns the account object.

Bodyapplication/vnd.api+json
dataArray of objects(AccountResource)required
data[].​idstring(uuid)read-onlyrequired

The unique identifier of the Account.

Example: "2bc7d781-3247-46f6-b60f-4090d214936a"
data[].​typestringrequired

The type of the resource. Always accounts.

Example: "accounts"
Value "accounts"
data[].​attributesCard (object) or Earnings Balance (read only) (object) or Depository (object)(AccountAttributes)required
One of:

An account with type CARD and subtype DAILYPAY or DEBIT.

data[].​attributes.​verification_statusstringread-onlyrequired

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

Enum"VERIFICATION_PENDING""VERIFICATION_FAILED""VERIFIED"
Example: "VERIFIED"
data[].​attributes.​balancesobjectread-onlyrequired
data[].​attributes.​balances.​availableinteger or null>= 0read-onlyrequired

The amount of funds available to be withdrawn from the account.

For earnings_balance-type accounts, the available balance typically equals the current balance less any pending outflows, plus any pending inflows,

This value is in units of the lowest denomination in the associated currency. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 12000
data[].​attributes.​balances.​currentinteger or null>= 0read-onlyrequired

The total amount of funds settled in the account.

This value is in units of the lowest denomination in the associated currency. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Special note for earnings_balance-type accounts: During a typical pay period, if a user transfers no money from an earnings_balance-type account to a personal account, the current balance will generally be 0, because transfers from earnings to this account will be PENDING until the paycheck related to those earnings is processed. Pending inflows are included in the available balance, not the current balance.

If a user transfers money from an earnings_balance-type account to a personal account, the current balance will be negative as those transfers settle. When a paycheck is processed, DailyPay will automatically attempt to zero out the balance, transferring any remaining funds to the default_paycheck_destination set for the associated Job.

If DailyPay is unable to zero out the balance during paycheck processing, the current balance will remain negative, which may impact a user's ability to transfer additional funds from their earnings balance. In those cases, the available balance will be 0.

Example: 50000
data[].​attributes.​balances.​currencystringread-onlyrequired

A three-letter ISO 4217 currency code. For example, USD for US Dollars, EUR for Euros, or JPY for Japanese Yen.

Example: "USD"
data[].​attributes.​capabilitiesobjectread-onlyrequired
data[].​attributes.​capabilities.​transfer_destinationArray of objects(TransferDestinationCapability)>= 0 itemsrequired

List of the timing and associate fees available when crediting this account as a transfer destination.

Actual fees may differ at the time of transfer; please refer to the transfer preview attribute for the most accurate fee information for any given transfer.

Example: [{"schedule":"WITHIN_THIRTY_MINUTES","fee":300,"currency":"USD"},{"schedule":"NEXT_BUSINESS_DAY","fee":0,"currency":"USD"}]
data[].​attributes.​capabilities.​transfer_destination[].​schedulestringrequired

The expected time for the transfer to be completed.

Enum"WITHIN_THIRTY_MINUTES""NEXT_BUSINESS_DAY"
Example: "WITHIN_THIRTY_MINUTES"
data[].​attributes.​capabilities.​transfer_destination[].​feeintegerrequired

A monetary quantity expressed in units of the lowest denomination in the associated currency. For example, { amount: 299, currency: 'USD' } resolves to $2.99.

If a transfer incurs a fee, the fee will be deducted from the amount of the transfer.

Example: 0
data[].​attributes.​capabilities.​transfer_destination[].​currencystring(Currency)required

A three-letter ISO 4217 currency code. For example, USD for US Dollars, EUR for Euros, or JPY for Japanese Yen.

data[].​attributes.​namestringrequired

Display name for this account.

Example: "Debit Card"
data[].​attributes.​account_typestringrequired

The type of account. It differentiates between depository accounts (e.g. bank account), cards (e.g. debit) and earnings balance type of accounts (e.g. on demand pay).

Value "CARD"
data[].​attributes.​subtypestringrequired

The subtype of the account. Additional subtypes may be added over time

Enum"DEBIT""DAILYPAY"
Example: "DEBIT"
data[].​attributes.​detailsobjectrequired

The banking details of the account and account holder.

data[].​attributes.​details.​last_fourstringread-onlyrequired

Last four digits of the card number.

Example: "0003"
data[].​attributes.​details.​issuerstringrequired

The issuer of the card.

Example: "411600"
data[].​attributes.​details.​first_namestringrequired

The first name of the account holder.

Example: "Edith"
data[].​attributes.​details.​last_namestringrequired

The last name of the account holder.

Example: "Clarke"
data[].​attributes.​details.​expiration_monthstringrequired

The month of the expiration date for the card.

Example: "02"
data[].​attributes.​details.​expiration_yearstringrequired

The year of the expiration date for the card.

Example: "2025"
data[].​linksobject(AccountLinks)read-onlyrequired
data[].​links.​selfstring(uri)(AccountLink)read-onlyrequired

The URI for the account

data[].​relationshipsobject(AccountRelationships)required
data[].​relationships.​personobject(PersonRelationship)required
data[].​relationships.​person.​dataobject(PersonIdentifier)required
data[].​relationships.​person.​data.​typestringrequired
Value "people"
data[].​relationships.​person.​data.​idstring(uuid)required
Example: "3fa8f641-5717-4562-b3fc-2c963f66afa6"
Response
application/vnd.api+json
{ "data": [ { "id": "2bc7d781-3247-46f6-b60f-4090d214936a", "type": "accounts", "attributes": {}, "links": {}, "relationships": {} } ] }

Request

Create an account object to store a person's bank or card information as a destination for funds.

Security
oauth_user_token
Headers
DailyPay-API-Versioninteger

The version of the DailyPay API to use for this request. If not provided, the latest version of the API will be used.

Default 3
Acceptstring

The media type of the requested payload. This should be set to application/vnd.api+json to signify your client can receive responses in the JSON:API format. For more details, see https://jsonapi.org.

Default application/vnd.api+json
Enum"application/vnd.api+json""*/*"
Bodyapplication/vnd.api+jsonrequired
dataobject(AccountResource)required
data.​typestringrequired

The type of the resource. Always accounts.

Example: "accounts"
Value "accounts"
data.​attributesCard (object) or Earnings Balance (read only) (object) or Depository (object)(AccountAttributes)required
One of:

An account with type CARD and subtype DAILYPAY or DEBIT.

data.​attributes.​namestringrequired

Display name for this account.

Example: "Debit Card"
data.​attributes.​account_typestringrequired

The type of account. It differentiates between depository accounts (e.g. bank account), cards (e.g. debit) and earnings balance type of accounts (e.g. on demand pay).

Value "CARD"
data.​attributes.​subtypestringrequired

The subtype of the account. Additional subtypes may be added over time

Enum"DEBIT""DAILYPAY"
Example: "DEBIT"
data.​attributes.​detailsobjectrequired

The banking details of the account and account holder.

data.​attributes.​details.​tokenstringwrite-onlyrequired

A tokenized string replacement for the card data.

Example: "HX46TY794RG"
data.​attributes.​details.​issuerstringrequired

The issuer of the card.

Example: "411600"
data.​attributes.​details.​first_namestringrequired

The first name of the account holder.

Example: "Edith"
data.​attributes.​details.​last_namestringrequired

The last name of the account holder.

Example: "Clarke"
data.​attributes.​details.​expiration_monthstringrequired

The month of the expiration date for the card.

Example: "02"
data.​attributes.​details.​expiration_yearstringrequired

The year of the expiration date for the card.

Example: "2025"
data.​attributes.​details.​address_line_onestringwrite-onlyrequired

The first line of the address for the card.

Example: "123 Kebly Street"
data.​attributes.​details.​address_line_twostringwrite-only

The second line of the address for the card.

Example: "Apt #12"
data.​attributes.​details.​address_citystringwrite-onlyrequired

The city of the address for the card.

Example: "Fort Lee"
data.​attributes.​details.​address_statestringwrite-onlyrequired

The two-letter abbreviation of the state in the address for the card.

Example: "NJ"
data.​attributes.​details.​address_zip_codestringwrite-onlyrequired

The zip code of the address for the card.

Example: "72374"
data.​attributes.​details.​address_countrystringwrite-onlyrequired

The country code of the address for the card.

Example: "US"
data.​relationshipsobject(AccountRelationships)required
data.​relationships.​personobject(PersonRelationship)required
data.​relationships.​person.​dataobject(PersonIdentifier)required
data.​relationships.​person.​data.​typestringrequired
Value "people"
data.​relationships.​person.​data.​idstring(uuid)required
Example: "3fa8f641-5717-4562-b3fc-2c963f66afa6"
import { SDK } from "@dailypay/dailypay";

const sdk = new SDK({
  version: 3,
  security: {
    oauthClientCredentialsToken: {
      clientID: "<YOUR_CLIENT_ID_HERE>",
      clientSecret: "<YOUR_CLIENT_SECRET_HERE>",
      tokenURL: "<YOUR_TOKEN_URL_HERE>",
    },
  },
});

async function run() {
  const result = await sdk.accounts.create({
    data: {
      type: "accounts",
      attributes: {
        name: "Acme Bank Checking Account",
        accountType: "DEPOSITORY",
        subtype: "CHECKING",
        depositoryAccountDetails: {
          firstName: "Edith",
          lastName: "Clarke",
          routingNumber: "XXXXX2021",
          accountNumber: "XXXXXX4321",
        },
      },
      relationships: {
        person: {
          data: {
            type: "people",
            id: "3fa8f641-5717-4562-b3fc-2c963f66afa6",
          },
        },
      },
    },
  });

  console.log(result);
}

run();

Responses

Returns the account object.

Bodyapplication/vnd.api+json
dataobject(AccountResource)required
data.​idstring(uuid)read-onlyrequired

The unique identifier of the Account.

Example: "2bc7d781-3247-46f6-b60f-4090d214936a"
data.​typestringrequired

The type of the resource. Always accounts.

Example: "accounts"
Value "accounts"
data.​attributesCard (object) or Earnings Balance (read only) (object) or Depository (object)(AccountAttributes)required
One of:

An account with type CARD and subtype DAILYPAY or DEBIT.

data.​attributes.​verification_statusstringread-onlyrequired

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

Enum"VERIFICATION_PENDING""VERIFICATION_FAILED""VERIFIED"
Example: "VERIFIED"
data.​attributes.​balancesobjectread-onlyrequired
data.​attributes.​balances.​availableinteger or null>= 0read-onlyrequired

The amount of funds available to be withdrawn from the account.

For earnings_balance-type accounts, the available balance typically equals the current balance less any pending outflows, plus any pending inflows,

This value is in units of the lowest denomination in the associated currency. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Example: 12000
data.​attributes.​balances.​currentinteger or null>= 0read-onlyrequired

The total amount of funds settled in the account.

This value is in units of the lowest denomination in the associated currency. For example, { amount: 7250, currency: 'USD' } resolves to $72.50.

Special note for earnings_balance-type accounts: During a typical pay period, if a user transfers no money from an earnings_balance-type account to a personal account, the current balance will generally be 0, because transfers from earnings to this account will be PENDING until the paycheck related to those earnings is processed. Pending inflows are included in the available balance, not the current balance.

If a user transfers money from an earnings_balance-type account to a personal account, the current balance will be negative as those transfers settle. When a paycheck is processed, DailyPay will automatically attempt to zero out the balance, transferring any remaining funds to the default_paycheck_destination set for the associated Job.

If DailyPay is unable to zero out the balance during paycheck processing, the current balance will remain negative, which may impact a user's ability to transfer additional funds from their earnings balance. In those cases, the available balance will be 0.

Example: 50000
data.​attributes.​balances.​currencystringread-onlyrequired

A three-letter ISO 4217 currency code. For example, USD for US Dollars, EUR for Euros, or JPY for Japanese Yen.

Example: "USD"
data.​attributes.​capabilitiesobjectread-onlyrequired
data.​attributes.​capabilities.​transfer_destinationArray of objects(TransferDestinationCapability)>= 0 itemsrequired

List of the timing and associate fees available when crediting this account as a transfer destination.

Actual fees may differ at the time of transfer; please refer to the transfer preview attribute for the most accurate fee information for any given transfer.

Example: [{"schedule":"WITHIN_THIRTY_MINUTES","fee":300,"currency":"USD"},{"schedule":"NEXT_BUSINESS_DAY","fee":0,"currency":"USD"}]
data.​attributes.​capabilities.​transfer_destination[].​schedulestringrequired

The expected time for the transfer to be completed.

Enum"WITHIN_THIRTY_MINUTES""NEXT_BUSINESS_DAY"
Example: "WITHIN_THIRTY_MINUTES"
data.​attributes.​capabilities.​transfer_destination[].​feeintegerrequired

A monetary quantity expressed in units of the lowest denomination in the associated currency. For example, { amount: 299, currency: 'USD' } resolves to $2.99.

If a transfer incurs a fee, the fee will be deducted from the amount of the transfer.

Example: 0
data.​attributes.​capabilities.​transfer_destination[].​currencystring(Currency)required

A three-letter ISO 4217 currency code. For example, USD for US Dollars, EUR for Euros, or JPY for Japanese Yen.

data.​attributes.​namestringrequired

Display name for this account.

Example: "Debit Card"
data.​attributes.​account_typestringrequired

The type of account. It differentiates between depository accounts (e.g. bank account), cards (e.g. debit) and earnings balance type of accounts (e.g. on demand pay).

Value "CARD"
data.​attributes.​subtypestringrequired

The subtype of the account. Additional subtypes may be added over time

Enum"DEBIT""DAILYPAY"
Example: "DEBIT"
data.​attributes.​detailsobjectrequired

The banking details of the account and account holder.

data.​attributes.​details.​last_fourstringread-onlyrequired

Last four digits of the card number.

Example: "0003"
data.​attributes.​details.​issuerstringrequired

The issuer of the card.

Example: "411600"
data.​attributes.​details.​first_namestringrequired

The first name of the account holder.

Example: "Edith"
data.​attributes.​details.​last_namestringrequired

The last name of the account holder.

Example: "Clarke"
data.​attributes.​details.​expiration_monthstringrequired

The month of the expiration date for the card.

Example: "02"
data.​attributes.​details.​expiration_yearstringrequired

The year of the expiration date for the card.

Example: "2025"
data.​linksobject(AccountLinks)read-onlyrequired
data.​links.​selfstring(uri)(AccountLink)read-onlyrequired

The URI for the account

data.​relationshipsobject(AccountRelationships)required
data.​relationships.​personobject(PersonRelationship)required
data.​relationships.​person.​dataobject(PersonIdentifier)required
data.​relationships.​person.​data.​typestringrequired
Value "people"
data.​relationships.​person.​data.​idstring(uuid)required
Example: "3fa8f641-5717-4562-b3fc-2c963f66afa6"
Response
application/vnd.api+json
{ "data": { "id": "2bc7d781-3247-46f6-b60f-4090d214936a", "type": "accounts", "attributes": { "verification_status": "VERIFIED", "balances": {}, "capabilities": {}, "name": "Debit Card", "account_type": "CARD", "subtype": "DEBIT", "details": {} }, "links": { "self": "https://api.dailypay.com/rest/accounts/2bc7d781-3247-46f6-b60f-4090d214936a" }, "relationships": { "person": {} } } }

Health

The health endpoint provides a simple health check for the API.

Functionality: Check the status of the API to ensure it is functioning correctly.

Operations

Jobs

The jobs endpoint provides access to comprehensive information about a person's employment. It enables you to retrieve details about individual jobs, including information about the organization they work for, status, wage rate, job title, location, paycheck settings, and related links to associated accounts.

Operations

Organizations

The organizations endpoint provides details about a business entity, such as an employer, or a group of people, such as a division.

The response includes the organization name and ID which can be used to make subsequent endpoint calls related to the organization and its employees.

Operations

Paychecks

The paychecks endpoint provides detailed information about paychecks. You can retrieve individual paycheck details, including the person and job associated with the paycheck, its status, pay period, expected deposit date, total debited amount, withholdings, earnings, and currency.

Functionality: Retrieve specific paycheck details, including payee and job information, and monitor the status and financial details of each paycheck.

Operations

People

The people endpoint allows you to see information related to who owns resources such as jobs and accounts.

Functionality: Retrieve limited details about a person, including their name, global status, and state of residence.

Operations

Transfers

The transfers endpoint allows you to initiate and track money movement. You can access transfer details, including the transfer's unique ID, amount, currency, status, schedule, submission and resolution times, fees, and related links to the involved parties.

Functionality Retrieve transfer information, monitor transfer statuses, view transfer schedules, and access relevant links for the source, destination, and origin of the transfer.

Important - Account origin: a user initiated movement of money from one account to another - Paycheck origin: an automatic (system-generated) movement of money as part of payroll

Operations

Card Tokenization

Securely tokenize personal cards for use in the accounts API.

Operations