# Close a hold limit breach

Closes an open hold limit breach by performing a one-time refund to a specified recipient. The recipient will receive the excess amount that caused the breach.
Only breaches with `state: OPEN` can be closed via this endpoint.

Endpoint: POST /v1/profiles/{profileId}/balances/hold-limit-breach/{holdLimitBreachId}
Security: UserToken, PersonalToken

## Security:

  - `UserToken` (unknown)
    http bearer JWT

  - `PersonalToken` (unknown)
    http bearer JWT

## Path parameters:

  - `profileId` (integer, required)
    The profile ID.

  - `holdLimitBreachId` (integer, required)
    The hold limit breach ID.

## Header parameters:

  - `X-External-Correlation-Id` (string)
    Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. [Learn more](/guides/developer/headers/correlation-id).

## Request fields (application/json):

  - `targetRecipientId` (integer, required)
    ID of the recipient to receive the refund of the excess funds.
    Example: 148393305

  - `state` (string, required)
    Must be `CLOSED`. This is the only supported value.
    Example: CLOSED

## Response 204:

  - `204` (unknown)
    Returns 204 No Content on success.

## Response 204 headers:

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

## Response 400:

  - `400` (unknown)
    Invalid state used.

## Response 400 fields (application/json):

  - `type` (string)
    Must be /errors/types/validation for this error type

  - `title` (string)
    Validation Error

  - `status` (string)
    Bad request error

  - `instance` (string)
    The uri that triggered the error

  - `errors` (array)
    A list of specific validation failures.

  - `errors.detail` (string)
    A detailed description of the validation failure.

  - `errors.code` (string)
    A specific code for the validation failure type.

  - `errors.ref` (string)
    A reference to the field that failed validation.

## Response 400 headers (application/json):

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

## Response 403:

  - `403` (unknown)
    Caller attempts to close a holdLimitBreach that does not belong to them.

## Response 403 fields (application/json):

  - `type` (string)
    Must be /errors/types/access for this error type

  - `title` (string)
    Forbidden

  - `status` (string)
    Forbidden error

  - `instance` (string)
    The uri that triggered the error

  - `detail` (string)
    Detail of the error
    Example: Hold limit breach {holdLimitBreachId} does not belong to profile {profileId}

  - `code` (string)
    Error code of the request
    Example: forbidden

## Response 403 headers (application/json):

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

## Response 404:

  - `404` (unknown)
    Caller attempts to close a holdLimitBreach that does not exist.

## Response 404 fields (application/json):

  - `type` (string)
    Must be /errors/types/validation for this error type

  - `title` (string)
    Validation Error

  - `status` (string)
    Validation error

  - `instance` (string)
    The uri that triggered the error

  - `detail` (string)
    Detail of the error
    Example: Hold limit breach not found: 123

  - `code` (string)
    Error code of the request
    Example: not_found

## Response 404 headers (application/json):

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

## Response 429:

  - `429` (unknown)
    Rate limit exceeded. Retry after the number of seconds specified in the `Retry-After` header.

## Response 429 headers (application/json):

  - `Retry-After` (integer)
    Number of seconds to wait before retrying the request.
    Example: 5

  - `X-Rate-Limited-By` (string)
    Identifies the rate limiter that triggered the 429 response.
    Example: wise-public-api

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

