---
title: "Create a deposit"
method: POST
path: "/deposits"
tags: ["Deposits"]
---

# Create a deposit

`POST /deposits`

## Request

- The document declares no server URL.
- Auth: none declared. Required headers: `ApiKey`, `MerchantId`, `Environment`

This endpoint allows you to create a deposit.

## Headers

- `ApiKey` string, required
- `MerchantId` string, required
- `Environment` 'live' | 'sandbox', required

## Request body

- CreateDepositDto
  - `amount` integer, required: The amount to deposit, a positive whole number in the major units of the currency (at most 2147483647). A zero, negative or fractional amount is refused with 400.
  - `currency` string, required: The currency of the deposit
  - `description` string: Description of the deposit
  - `accountType` 'transfer' | 'transfer-irt' | 'cross-border', required: The account type to deposit funds on. Only TRANSFER, TRANSFER_IRT and CROSS_BORDER are allowed for deposits.
  - `method` CreateDepositMethodDto, required
    - `type` 'bank_transfer', required: The method selected to make this Deposit
    - `hub2Iban` string, required: The HUB2 IBAN to deposit funds to

## Response `201`

- DepositDto
  - `id` string, required: Unique identifier for the deposit
  - `merchantId` string, required: Merchant identifier
  - `merchantName` string: Merchant display name
  - `merchantAccountId` string, required: Merchant account identifier
  - `matchingCode` string, required: Reference to use for the bank transfer
  - `description` string: Description of the deposit
  - `amount` number, required: Amount of the deposit
  - `currency` string, required: Currency of the deposit (ISO 4217 format)
  - `accountType` 'collection' | 'transfer' | 'transfer-irt' | 'delegated' | 'cross-border', required: Type of merchant account
  - `method` DepositMethodDto, required
    - `type` 'bank_transfer', required: The method selected to make this Deposit
    - `hub2Iban` string, required: The HUB2 IBAN to deposit funds to
    - `country` string, required: The country code derived from the IBAN
    - `provider` string, required: The bank provider derived from the bank account
  - `status` 'created' | 'failed' | 'pending' | 'successful', required: Status of the deposit
  - `statusDetails` 'waiting_provider' | 'waiting_proof' | 'unverified' | 'verified' | 'mismatch', required: Status details of the deposit
  - `mode` 'live' | 'sandbox', required: Application mode (e.g., live or sandbox)
  - `fees` DepositFee[], required: List of fees associated with the deposit
  - `createdAt` string, required: Date and time when the deposit was created
  - `createdBy` string, required: User id or merchant id who created the deposit
  - `updatedAt` string, required: Date and time when the deposit was last updated
  - `failureCause` DepositFailureCauseDto
    - `code` string, required: Hub2 failure code
    - `message` string: Human-readable failure message
  - `nextAction` object: Next action required, if any
  - `legalData` DepositLegalDataDto
    - `proofDocuments` string[], required: Proof documents

## Other responses

- `400`: Bad Request
- `401`: Wrong credentials
- `403`: Forbidden
- `409`: Invalid request
- `429`: ThrottlerException: Too Many Requests
- `500`: Internal error
- `503`: Service unavailable

## Changes

- **2026-11-03** `f6d3f87df5e0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hub2/apis/hub2-service-api/changes/deposits/post.md)

---

[API](https://skmtc.dev/hub2/apis/hub2-service-api.md) - [All operations](https://skmtc.dev/hub2/apis/hub2-service-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hub2/apis/hub2-service-api/revisions/f6d3f87df5e0?raw)
