---
title: "Create wallet account"
method: POST
path: "/pws/pws_wallet_account/"
tags: ["Wallet"]
---

# Create wallet account

`POST /pws/pws_wallet_account/`

<ul>
<li class="docBullet">Allows to create an account in the Paymentology ledger.</li><li class="docBullet">The user can, optionally, create an external reference for this account should they require.</li>
<li class="docBullet">All accounts must sit within an account hierarchy in the ledger. This means that a parent account must be provided by the user.</li>
<li class="docBullet">The new account is then a child of the parent account.</li>
<li class="docBullet">This hierarchy is beneficial to the user as it allows accounts to be related as wallets and allows for reporting at multiple hierarchy levels.</li>
</ul>

## Request body

- WalletAccountModel
  - `ac_bill_ccy` string, required — Billing currency (Three digit ISO_4217 standard currency code . i.e. : 048 → BHD, 060 → BMD, 036 → AUD).
  - `ac_name` 'range[-infinity, 50]', required — account holder name.
  - `ac_parent_id` integer, required — Parent account. Newly created accounts under a parent account will have parent child hierarchy.
  - `ac_set_ccy` string, required — Settlement currency (Three digit ISO-4217 standard currency code . i.e. : 048 → BHD, 060 → BMD, 036 → AUD).
  - `accounts` Accounts[], required
    - `ac_bill_ccy` string, required — Billing currency (Three digit ISO_4217 standard currency code . i.e. : 048 → BHD, 060 → BMD, 036 → AUD)
    - `ac_name` 'range[-infinity, 50]', required — account name under which an account is created
    - `is_default_acc` integer, required — Denotes the default account
    - `is_default_ccy` integer, required — Denotes the default currency
    - `ac_desc` 'range[-infinity, 100]' — Description for the account holder
    - `ac_ext_ref` 'range[-infinity, 50]' — account external reference
    - `ac_set_ccy` string — Settlement currency (Three digit ISO-4217 standard currency code . i.e. : 048 → BHD, 060 → BMD, 036 → AUD)
  - `api_call_unique_identifier` string, required — Unique number that must be passed at each API request. Identifier to make each API request unique
  - `client_id` integer, required — Unique identifier for the client which Paymentology will provide at outset
  - `user_id` string — User Id of the Customer who triggered the API request.
  - `remarks` string — Remarks for API request
  - `ac_desc` string — Description for the account holder.
  - `ac_ext_ref` string — account external reference.

## Response `200`

Successful Response

- CreateWalletAccountResponse
  - `header` CreateWalletAccountResponseHeader
    - `error_id` integer — error id
    - `error_desc` string — error message
  - `body` CreateWalletAccountResponseBody
    - `ac_id` integer — Newly Created account ID.
    - `accounts` WalletAccounts[] — wallet accounts that will be created under parent account .
      - `ac_id` integer — Newly Created Child account ID.
      - `ac_name` 'range[-infinity, 50]' — account name under which an account is created
      - `ac_desc` 'range[-infinity, 100]' — Description for the account holder
      - `ac_ext_ref` 'range[-infinity, 50]' — account external reference
      - `ac_set_ccy` string — Settlement currency (Three digit ISO-4217 standard currency code . i.e. : 048 → BHD, 060 → BMD, 036 → AUD)
      - `ac_bill_ccy` string — Billing currency (Three digit ISO_4217 standard currency code . i.e. : 048 → BHD, 060 → BMD, 036 → AUD)
      - `is_default_acc` integer — Denotes the default account
      - `is_default_ccy` integer — Denotes the default currency

## Other responses

- `404` — Webservices does not exist
- `500` — Internal Server error

---

[API](https://skmtc.net/paymentology/apis/payapi-docs.md) · [All operations](https://skmtc.net/paymentology/apis/payapi-docs/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/paymentology/payapi-docs/revisions/a675891b0365/schema)
