---
title: "Reduces the number of units one line moves."
method: PATCH
path: "/api/v1/transfers/{id}/lines/{lineId}"
tags: ["Transfers"]
---

# Reduces the number of units one line moves.

`PATCH /api/v1/transfers/{id}/lines/{lineId}`

## Request

- Base URL: `https://app.flexonthejob.com`
- URL: `https://app.flexonthejob.com/api/v1/transfers/{id}/lines/{lineId}`
- Auth: HTTP bearer

Requires `ManageTransfers` and an `Idempotency-Key` header. Body:
`{ "quantity": 2 }`. A line can only shrink (1 up to its current `quantity`): it keeps
its first units, the others are released and become available again, and
`quantityPicked` is capped at the new quantity. To move more, create another transfer —
growing a line could cross the approval threshold. Only on a standalone transfer that is
`Pending` and not awaiting approval, and only for a line that carries stock units.

## Path parameters

- `id` integer, required
- `lineId` integer, required

## Request body

- UpdateTransferLineRequest: Body of `PATCH /api/v1/transfers/{id}/lines/{lineId}`: reduce the units a line moves. Example: `{ "quantity": 2 }`.
  - `quantity` integer: New number of units, 1 up to the line's current `quantity` (a line can only shrink; the other units are released). Example: `2`.

## Response `200`

Transfer id and confirmation (e.g. `Line quantity reduced from 3 to 2; 1 unit(s) released.`).

- ApiOperationResponse: Body of a successful workflow-style write that has no richer resource to return (assign, start, complete, void…). Id is the affected resource's id; Warning carries a non-fatal note from the service (e.g. an email that could not be sent).
  - `id` integer: Id of the resource the operation acted on (e.g. the job id).
  - `message` string, nullable: Human-readable confirmation from the service (e.g. "Job started."). May be null.
  - `warning` string, nullable: Non-fatal problem encountered while completing the operation (e.g. a notification email that could not be sent). Null when there was none.

## Other responses

- `400`: Malformed body, missing `Idempotency-Key`, or `quantity` outside 1–1000 (listed in `errors.quantity`).
- `401`: Unauthorized
- `403`: Forbidden
- `404`: No such transfer in this organization, or no such line on it.
- `409`: A larger quantity than the line has, a line without stock units, not `Pending`, awaiting approval, a job-site or sales-order transfer, or the key's creator is unknown on this server.
- `429`: Too Many Requests
- `500`: The change could not be saved. Retry with the same `Idempotency-Key`.

---

[API](https://skmtc.dev/flexonthejob/apis/flex-api.md) · [All operations](https://skmtc.dev/flexonthejob/apis/flex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flexonthejob/apis/flex-api/revisions/19c8f4d27acf?raw)
