---
title: "Reserve an MPP deposit intent's refund (settle worker, service key)"
method: POST
path: "/service/mpp-settler/mpp-deposit-intents/{id}/refund"
tags: ["fulfillments"]
---

# Reserve an MPP deposit intent's refund (settle worker, service key)

`POST /service/mpp-settler/mpp-deposit-intents/{id}/refund`

## Request

- Base URL: `https://api.instruxi.dev/api/v1/enforcer`
- URL: `https://api.instruxi.dev/api/v1/enforcer/service/mpp-settler/mpp-deposit-intents/{id}/refund`
- Auth: API key in header `X-API-Key`

Service-key only (enforcer-mpp-settler). Always mode=reserve: reserves the (intent, refund) action and returns the plan with action_id. v3 sends nothing. dry_run=false or any mode but reserve is 400 send_not_allowed. Refused (409) unless the intent is underpaid, overpaid, parked or expired, and 409 refund_to_contract when the refund address has code or is a forwarder. Idempotent per intent. The actor recorded is service:<label>.

## Path parameters

- `id` string, required

## Response `200`

OK

- InternalDeliveryHttpHandlerMPPLeverResponse
  - `data` EnforcerV3InternalDomainMppdepositLeverResult
    - `action_id` string: ActionID is the mpp_deposit_actions row backing a real call or a reservation; Reserved is true while that row has no tx hash yet (the sender holds it but has not completed it).
    - `actor` string
    - `dry_run` boolean
    - `intent_id` string
    - `plan` EnforcerV3InternalDomainMppdepositPlan
      - `kind` string
      - `steps` EnforcerV3InternalDomainMppdepositStep[]
        - `args` object
        - `calldata` string
        - `function` string
        - `name` string
        - `to` string
    - `replayed` boolean
    - `reserved` boolean
    - `state` string
    - `tx_hashes` string[]
  - `success` boolean

## Other responses

- `400`: invalid_body / send_not_allowed
- `401`: invalid_service_key
- `404`: Not Found
- `409`: Conflict
- `503`: Service Unavailable

---

[API](https://skmtc.dev/instruxi/apis/enforcer-api.md) · [All operations](https://skmtc.dev/instruxi/apis/enforcer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/instruxi/apis/enforcer-api/revisions/fa82bc1becc0?raw)
