---
title: "Transferir um movimento por pagar para outro ponto de venda"
method: POST
path: "/api/financeiro/movements/{movement_id}/transfer-pv"
tags: ["Financeiro (Protected)"]
---

# Transferir um movimento por pagar para outro ponto de venda

`POST /api/financeiro/movements/{movement_id}/transfer-pv`

Give an unpaid movement away to another point of sale of the same company.

PUSH by the owning PV — a store cannot pull another store's movement. The
ownership predicate lives in the DB UPDATE's WHERE (compare-and-swap), so a
losing race returns 409 rather than silently moving the wrong row.

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

- MovementTransferPvRequest — Hand an unpaid movement over to another point of sale of the same company. Only the DESTINATION is client-supplied: the origin is always the caller's own point of sale, enforced in the UPDATE's WHERE clause.
  - `to_point_of_sale_id` integer, required — Ponto de venda que passa a ser dono do movimento

## 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)
