---
title: "Create an account product"
method: POST
path: "/accounts/products"
tags: ["Accounts"]
---

# Create an account product

`POST /accounts/products`

Create an account product. Rates cannot be nil or empty.

The FEE account product has been deprecated. Instead, use the /v1/fee_templates and /v1/fees endpoints.

## Headers

- `Idempotency-Key` string

## Request body

- union
  - object
    - `accrual_payout_schedule` 'MONTHLY' | 'NONE', required
    - `calculation_method` 'COMPOUNDED_DAILY' | 'COMPOUNDED_MONTHLY', required
    - `description` string — User provided description for the current interest.
    - `id` string, uuid — Interest ID
    - `product_type` 'FEE' | 'INTEREST', required
    - `rates` RateDetails[], required — A list of interest rate. Date intervals between valid_from and valid_to expect to have no overlap.
      - `accrual_period` 'DAILY' | 'MONTHLY', required — How often interest gets calculated against the balance. Note: although two options are displayed here, only DAILY is supported at the moment.
      - `rate` integer, required — Rate in basis points. E.g. 5 represents 0.05%
      - `valid_from` string, date, required — Rate effective start date. Inclusive.
      - `valid_to` string, date — Rate effective end date. Exclusive.
  - object
    - `amount` integer, required — Fee amount
    - `currency` string, required — Fee currency code in ISO 4217
    - `fee_type` 'ACH_FEE' | 'ANNUAL_FEE' | 'ATM_WITHDRWAL_FEE' | 'MONTHLY_FEE' | 'OVERDRAFT_FEE' | 'WIRE_FEE', required — Fee type
    - `id` string, uuid — Fee ID
    - `product_type` 'FEE' | 'INTEREST', required

## Response `201`

Account product created

- union
  - object
    - `accrual_payout_schedule` 'MONTHLY' | 'NONE', required
    - `calculation_method` 'COMPOUNDED_DAILY' | 'COMPOUNDED_MONTHLY', required
    - `description` string — User provided description for the current interest.
    - `id` string, uuid — Interest ID
    - `product_type` 'FEE' | 'INTEREST', required
    - `rates` RateDetails[], required — A list of interest rate. Date intervals between valid_from and valid_to expect to have no overlap.
      - `accrual_period` 'DAILY' | 'MONTHLY', required — How often interest gets calculated against the balance. Note: although two options are displayed here, only DAILY is supported at the moment.
      - `rate` integer, required — Rate in basis points. E.g. 5 represents 0.05%
      - `valid_from` string, date, required — Rate effective start date. Inclusive.
      - `valid_to` string, date — Rate effective end date. Exclusive.
  - object
    - `amount` integer, required — Fee amount
    - `currency` string, required — Fee currency code in ISO 4217
    - `fee_type` 'ACH_FEE' | 'ANNUAL_FEE' | 'ATM_WITHDRWAL_FEE' | 'MONTHLY_FEE' | 'OVERDRAFT_FEE' | 'WIRE_FEE', required — Fee type
    - `id` string, uuid — Fee ID
    - `product_type` 'FEE' | 'INTEREST', required

---

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