An Account in the Paylias network represents a bank account linked to a Domain. It's used to credit net settlement proceeds based on daily transactions that are attributed to a specific Domain. By linking Accounts to Domains, Organizations have the flexibility to manage multiple Bank Accounts based on the Domains they create.
Each Account:
Property | Type | Description | Notes |
---|---|---|---|
token |
string | Unique identifier for the account | Auto-generated upon creation |
partner_id |
string | Associated Domain ID | Required for all operations |
encrypted_account_number |
string | Encrypted bank account number | Not exposed in JSON |
sha256_account_number |
string | Hashed account number | Not exposed in JSON |
masked_account_number |
string | Partially hidden account number | Shows last 4 digits |
routing_number |
string | Bank routing number | |
account_title |
string | Name on the account | |
status |
enum | Current account status | See Status Types |
type |
enum | Type of bank account | See Account Types |
institution |
object | Bank details | Includes name, address, contact |
created_at |
timestamp | Creation timestamp | Unix timestamp in seconds |
updated_at |
timestamp | Last update timestamp | Unix timestamp in seconds |
deleted_at |
timestamp | Deletion timestamp | Only present if deleted |
Status | Value | Description |
---|---|---|
AS_None |
0 | No status assigned |
AS_Unverified |
1 | Account pending verification |
AS_Verified |
2 | Account verified |
AS_Deleted |
3 | Account deleted |
Type | Value | Description |
---|---|---|
AT_None |
0 | No type assigned |
AT_Checkings |
1 | Checking account |
AT_Savings |
2 | Savings account |
All Account-related operations require both:
Creates a new bank account for a Domain.
Parameter | Type | Required | Description |
---|---|---|---|
account_title |
string | Yes | Name on the account |
account_number |
string | Yes | Bank account number |
routing_number |
string | Yes | Bank routing number |
type |
string | Yes | Account type (AT_Checkings/AT_Savings) |
POST /api/v1/csp/account
curl --location 'https://production.oysterapi.net/csp/api/v1/csp/account' \
--header 'X-Partner-ID: part_ct23b6420or249k5boag' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <jwt_token>' \
--data '{
"account_title": "Safepay Inc.",
"account_number": "123456789",
"routing_number": "011000015",
"type": "AT_Checkings"
}'
{
"ok": true,
"data": {
"token": "acct_cvg1hk420or769prtisg",
"partner_id": "part_ct23b6420or249k5boag",
"masked_account_number": "******7890",
"routing_number": "011000015",
"account_title": "Safepay Inc.",
"status": 1,
"type": 1,
"created_at": {
"seconds": 1742739664
},
"updated_at": {
"seconds": 1742739664
}
}
}
Error Code | Description |
---|---|
error.bad_request |
Invalid or missing required parameters |
error.resource_conflict |
Account with similar details already exists |
error.unauthorized_access |
Invalid or missing authentication |
500 , 502 , 503 , 504 |
Server-side errors |
Retrieves details of a specific bank account.
Parameter | Type | Required | Description |
---|---|---|---|
accountToken |
string | Yes | Account token to retrieve |
GET /api/v1/csp/account/{accountToken}
curl --location 'https://production.oysterapi.net/csp/api/v1/csp/account/acct_cvg1hk420or769prtisg' \
--header 'X-Partner-ID: part_ct23b6420or249k5boag' \
--header 'Authorization: Bearer <jwt_token>'
{
"ok": true,
"data": {
"token": "acct_cvg1hk420or769prtisg",
"partner_id": "part_ct23b6420or249k5boag",
"masked_account_number": "******7890",
"routing_number": "011000015",
"account_title": "Safepay Inc.",
"status": 1,
"type": 1,
"institution": {
"name": "FEDERAL RESERVE BANK",
"routing_number": "011000015",
"phone_number": "8773722457",
"address": {
"address": "1000 PEACHTREE ST N.E.",
"city": "ATLANTA",
"state": "GA",
"postal_code": "30309"
}
},
"created_at": {
"seconds": 1742739664
},
"updated_at": {
"seconds": 1742739664
}
}
}
Marks an account as deleted in the system.
DELETE /api/v1/csp/account/{accountToken}
curl --location --request DELETE 'https://production.oysterapi.net/csp/api/v1/csp/account/acct_cjm6g2vsemvs0bglqlu0' \
--header 'X-Partner-ID: part_cjes76vsemvj3obsnc30' \
--header 'Authorization: Bearer <jwt_token>'
{
"ok": true,
"data": {
"message": "success"
}
}
Retrieves the decrypted account number for a specific account.
GET /api/v1/csp/account/{accountToken}/decrypt
curl --location 'https://production.oysterapi.net/csp/api/v1/csp/account/acct_cvg1k9s20or769prtit0/decrypt' \
--header 'X-Partner-ID: part_ct23b6420or249k5boag' \
--header 'Authorization: Bearer <jwt_token>'
{
"ok": true,
"data": {
"account_number": "1234567890"
}
}
Retrieves a list of accounts based on specified filters.
Parameter | Type | Required | Description |
---|---|---|---|
routing_numbers |
string[] | No | Filter by routing numbers |
account_titles |
string[] | No | Filter by account titles |
status |
enum | No | Filter by account status |
limit |
integer | No | Results per page |
page |
integer | No | Page number |
GET /api/v1/csp/account
curl --location 'https://production.oysterapi.net/csp/api/v1/csp/account?account_titles=Safepay%20Inc.&routing_numbers=011000015&status=AS_UNVERIFIED&limit=3&page=1' \
--header 'X-Partner-ID: part_cjes76vsemvj3obsnc30' \
--header 'Authorization: Bearer <jwt_token>'
{
"ok": true,
"data": {
"count": 3,
"accounts": [
{
"token": "acct_ctf930420orabtojo3r0",
"partner_id": "part_ct23b6420or249k5boag",
"masked_account_number": "*****6789",
"routing_number": "011000015",
"account_title": "Safepay Inc.",
"status": 1,
"type": 1,
"institution": {
"name": "FEDERAL RESERVE BANK",
"routing_number": "011000015",
"phone_number": "8773722457",
"address": {
"address": "1000 PEACHTREE ST N.E.",
"city": "ATLANTA",
"state": "GA",
"postal_code": "30309"
}
},
"created_at": {
"seconds": 1734250881
},
"updated_at": {
"seconds": 1734250881
}
},
...
]
}
}
Error Code | Description |
---|---|
error.resource_not_found |
Account not found |
error.unauthorized_access |
Invalid or missing authentication |
500 , 502 , 503 , 504 |
Server-side errors |