---
title: "Submit a proof"
method: POST
path: "/deposits/{id}/proof"
tags: ["Deposits"]
---

# Submit a proof

`POST /deposits/{id}/proof`

## Request

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

This endpoint allows you to submit a proof for a deposit

## Path parameters

- `id` string, required

## Headers

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

## Request body

- DepositProofDto
  - `blobName` string, required: The blob name returned by the proof upload URI endpoint. Any other name is refused with 400.
  - `fileName` string, required: The original file name as selected by the user (used for download).
  - `contentType` 'image/jpeg' | 'image/jpg' | 'image/png' | 'application/pdf', required: The MIME type of the uploaded proof file.

## Response `200`

- 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
- `404`: Not Found
- `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/:id/proof/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)
