---
title: "Create account"
method: POST
path: "/payment/v1/merchants/{merchantId}/accounts"
tags: ["Payment.Settlement Accounts"]
---

# Create account

`POST /payment/v1/merchants/{merchantId}/accounts`

Creates a new settlement account for the merchant.

## Path parameters

- `merchantId` string, required

## Request body

- V1SettlementAccount — Parameters for the settlement account to be created.
  - `accountIdentifier` PaymentAccountIdentifier
    - `identifier` string — Full account identifier as string.
    - `type` 'ACCOUNT_IDENTIFIER_TYPE_UNSPECIFIED' | 'SE' | 'IBAN' | 'SORT_CODE' — - ACCOUNT_IDENTIFIER_TYPE_UNSPECIFIED: Default value. It should not occur. - SE: Account type used in SE. - IBAN: IBAN account type. - SORT_CODE: Sort code account type used in UK.
  - `appId` string — The app id of the account.
  - `availableBalance` TypeCurrencyDenominatedAmount — The amount with regard to currency and its value should be accurately represent the monetary amount.
    - `currencyCode` string — The currency code which follows ISO-4217 standard.
    - `value` TypeExactNumber — ExactNumber to use representation, which is used in `BigDecimal`. A value of `12.13` with `unscaledValue = 1213` and `scale = 2`. We can later use `doubleValue = Math.pow(10, -scale) * unscaledValue` to get exact number.
      - `scale` string, int64 — The scale of the numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
      - `unscaledValue` string, int64 — The unscaled numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
  - `balance` TypeCurrencyDenominatedAmount — The amount with regard to currency and its value should be accurately represent the monetary amount.
    - `currencyCode` string — The currency code which follows ISO-4217 standard.
    - `value` TypeExactNumber — ExactNumber to use representation, which is used in `BigDecimal`. A value of `12.13` with `unscaledValue = 1213` and `scale = 2`. We can later use `doubleValue = Math.pow(10, -scale) * unscaledValue` to get exact number.
      - `scale` string, int64 — The scale of the numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
      - `unscaledValue` string, int64 — The unscaled numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
  - `countryCode` string — The country code (ISO 3166-1 alpha-2) of the desired location for the account. Optional.
  - `currencyCode` string, required — The currency code of the account.
  - `id` string — The id of the account. Output only.
  - `merchantId` string, required — The merchant id tied to the account.
  - `name` string, required — The name of the account. It should be the name of the company/shop of which the transaction is intended to.
  - `payoutAccount` V1PayoutAccount
    - `currencyCode` string — The currency code for the payout account.
    - `frequency` 'FREQUENCY_UNSPECIFIED' | 'DAILY' | 'WEEKLY' | 'MONTHLY', required — Payout frequency. - FREQUENCY_UNSPECIFIED: Default unspecified frequency. Will result in no scheduled payouts. - DAILY: Daily will result in payouts every day. - WEEKLY: Weekly will result in payouts every Monday. - MONTHLY: Monthly will result in payouts the first day of the month.
    - `identifier` PaymentAccountIdentifier, required
      - `identifier` string — Full account identifier as string.
      - `type` 'ACCOUNT_IDENTIFIER_TYPE_UNSPECIFIED' | 'SE' | 'IBAN' | 'SORT_CODE' — - ACCOUNT_IDENTIFIER_TYPE_UNSPECIFIED: Default value. It should not occur. - SE: Account type used in SE. - IBAN: IBAN account type. - SORT_CODE: Sort code account type used in UK.
  - `reservedAmount` TypeExactNumber — ExactNumber to use representation, which is used in `BigDecimal`. A value of `12.13` with `unscaledValue = 1213` and `scale = 2`. We can later use `doubleValue = Math.pow(10, -scale) * unscaledValue` to get exact number.
    - `scale` string, int64 — The scale of the numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
    - `unscaledValue` string, int64 — The unscaled numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
  - `status` 'STATUS_UNSPECIFIED' | 'ENABLED' | 'SUSPENDED' | 'TERMINATED' — - STATUS_UNSPECIFIED: Default unspecified status. - ENABLED: Indicating that the account is operating. - SUSPENDED: Indicating that the account was suspended. - TERMINATED: Indicating that the account was terminated.
  - `type` 'TYPE_UNSPECIFIED' | 'APP_ACCOUNT' | 'ACQUIRER_ACCOUNT' — - TYPE_UNSPECIFIED: Default unspecified account type. - APP_ACCOUNT: An individual account owned solely by a single merchant. - ACQUIRER_ACCOUNT: A managed account with a primary owner and additional merchants.

## Response `200`

A successful response.

- V1SettlementAccount — Parameters for the settlement account to be created.
  - `accountIdentifier` PaymentAccountIdentifier
    - `identifier` string — Full account identifier as string.
    - `type` 'ACCOUNT_IDENTIFIER_TYPE_UNSPECIFIED' | 'SE' | 'IBAN' | 'SORT_CODE' — - ACCOUNT_IDENTIFIER_TYPE_UNSPECIFIED: Default value. It should not occur. - SE: Account type used in SE. - IBAN: IBAN account type. - SORT_CODE: Sort code account type used in UK.
  - `appId` string — The app id of the account.
  - `availableBalance` TypeCurrencyDenominatedAmount — The amount with regard to currency and its value should be accurately represent the monetary amount.
    - `currencyCode` string — The currency code which follows ISO-4217 standard.
    - `value` TypeExactNumber — ExactNumber to use representation, which is used in `BigDecimal`. A value of `12.13` with `unscaledValue = 1213` and `scale = 2`. We can later use `doubleValue = Math.pow(10, -scale) * unscaledValue` to get exact number.
      - `scale` string, int64 — The scale of the numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
      - `unscaledValue` string, int64 — The unscaled numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
  - `balance` TypeCurrencyDenominatedAmount — The amount with regard to currency and its value should be accurately represent the monetary amount.
    - `currencyCode` string — The currency code which follows ISO-4217 standard.
    - `value` TypeExactNumber — ExactNumber to use representation, which is used in `BigDecimal`. A value of `12.13` with `unscaledValue = 1213` and `scale = 2`. We can later use `doubleValue = Math.pow(10, -scale) * unscaledValue` to get exact number.
      - `scale` string, int64 — The scale of the numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
      - `unscaledValue` string, int64 — The unscaled numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
  - `countryCode` string — The country code (ISO 3166-1 alpha-2) of the desired location for the account. Optional.
  - `currencyCode` string, required — The currency code of the account.
  - `id` string — The id of the account. Output only.
  - `merchantId` string, required — The merchant id tied to the account.
  - `name` string, required — The name of the account. It should be the name of the company/shop of which the transaction is intended to.
  - `payoutAccount` V1PayoutAccount
    - `currencyCode` string — The currency code for the payout account.
    - `frequency` 'FREQUENCY_UNSPECIFIED' | 'DAILY' | 'WEEKLY' | 'MONTHLY', required — Payout frequency. - FREQUENCY_UNSPECIFIED: Default unspecified frequency. Will result in no scheduled payouts. - DAILY: Daily will result in payouts every day. - WEEKLY: Weekly will result in payouts every Monday. - MONTHLY: Monthly will result in payouts the first day of the month.
    - `identifier` PaymentAccountIdentifier, required
      - `identifier` string — Full account identifier as string.
      - `type` 'ACCOUNT_IDENTIFIER_TYPE_UNSPECIFIED' | 'SE' | 'IBAN' | 'SORT_CODE' — - ACCOUNT_IDENTIFIER_TYPE_UNSPECIFIED: Default value. It should not occur. - SE: Account type used in SE. - IBAN: IBAN account type. - SORT_CODE: Sort code account type used in UK.
  - `reservedAmount` TypeExactNumber — ExactNumber to use representation, which is used in `BigDecimal`. A value of `12.13` with `unscaledValue = 1213` and `scale = 2`. We can later use `doubleValue = Math.pow(10, -scale) * unscaledValue` to get exact number.
    - `scale` string, int64 — The scale of the numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
    - `unscaledValue` string, int64 — The unscaled numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
  - `status` 'STATUS_UNSPECIFIED' | 'ENABLED' | 'SUSPENDED' | 'TERMINATED' — - STATUS_UNSPECIFIED: Default unspecified status. - ENABLED: Indicating that the account is operating. - SUSPENDED: Indicating that the account was suspended. - TERMINATED: Indicating that the account was terminated.
  - `type` 'TYPE_UNSPECIFIED' | 'APP_ACCOUNT' | 'ACQUIRER_ACCOUNT' — - TYPE_UNSPECIFIED: Default unspecified account type. - APP_ACCOUNT: An individual account owned solely by a single merchant. - ACQUIRER_ACCOUNT: A managed account with a primary owner and additional merchants.

## Other responses

- `400` — The request does not pass validation. Please check the error message for more information.
- `401` — The scopes associated with the access token is not allowed the resource.
- `403` — The resource does not belong to subject associated with the access token.
- `404` — The merchant specified could not be found.
- `default` — An unexpected error response.

---

[API](https://skmtc.net/tink/apis/tink-api.md) · [All operations](https://skmtc.net/tink/apis/tink-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tink/tink-api/revisions/23d8982b533d/schema)
