---
title: "Liquidar parcialmente um movimento pendente"
method: POST
path: "/api/financeiro/movements/{movement_id}/settle-partial"
tags: ["Financeiro (Protected)"]
---

# Liquidar parcialmente um movimento pendente

`POST /api/financeiro/movements/{movement_id}/settle-partial`

Settle part of a pending movement.

The whole concurrency story is one guarded UPDATE in the DB layer — see
db/financials.py::settle_movement_partially. A losing race returns 409, not
a silent double-settlement.

Plain `def` — synchronous pyodbc must not run on the event loop.

## Path parameters

- `movement_id` integer, required

## Headers

- `x-api-token` string, nullable

## Request body

- PartialSettlementRequest — Settle PART of a pending movement (#764 claim 2).
  - `amount` number, required — Valor a liquidar agora (positivo)
  - `payment_method_id` integer, required — Conta / método de pagamento usado

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/multigest/apis/multigest-protected-api.md) · [All operations](https://skmtc.dev/multigest/apis/multigest-protected-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/multigest/multigest-protected-api/revisions/4b44eb76b3ee/schema)
