---
title: "Replace retention (draft only)"
method: PUT
path: "/retentions/{id}/"
tags: ["Procurement"]
---

# Replace retention (draft only)

`PUT /retentions/{id}/`

## Request body

- Retention — Withholding-tax document issued against a supplier.
  - `id` integer
  - `supplier` string, required — Supplier ID.
  - `document` integer, required — Retention document type.
  - `number` integer, required
  - `date` string, date, required
  - `amount` number, nullable
  - `exempt` number, nullable
  - `tax` number, nullable
  - `tax_percent` number, nullable
  - `subtotal` number, nullable
  - `total` number, nullable
  - `discount` number, nullable
  - `discount_scheme` '%' | '$', nullable
  - `status` 'draft' | 'finalized' | 'cancelled'
  - `biller_status` string
  - `tax_agency` object
  - `local_file` string, uri, nullable
  - `imported` boolean
  - `test_mode` boolean
  - `lines` RetentionLine[], required
    - `id` integer
    - `name` string, required
    - `description` string, nullable
    - `amount` number, required
    - `quantity` number, required
    - `exempt` boolean
    - `tax` number, nullable
    - `tax_percent` number, nullable
    - `total` number
    - `discount` number, nullable
    - `discount_scheme` '%' | '$', nullable
  - `created` string, date-time
  - `updated` string, date-time

## Response `200`

Updated retention.

- Retention — Withholding-tax document issued against a supplier.
  - `id` integer
  - `supplier` string, required — Supplier ID.
  - `document` integer, required — Retention document type.
  - `number` integer, required
  - `date` string, date, required
  - `amount` number, nullable
  - `exempt` number, nullable
  - `tax` number, nullable
  - `tax_percent` number, nullable
  - `subtotal` number, nullable
  - `total` number, nullable
  - `discount` number, nullable
  - `discount_scheme` '%' | '$', nullable
  - `status` 'draft' | 'finalized' | 'cancelled'
  - `biller_status` string
  - `tax_agency` object
  - `local_file` string, uri, nullable
  - `imported` boolean
  - `test_mode` boolean
  - `lines` RetentionLine[], required
    - `id` integer
    - `name` string, required
    - `description` string, nullable
    - `amount` number, required
    - `quantity` number, required
    - `exempt` boolean
    - `tax` number, nullable
    - `tax_percent` number, nullable
    - `total` number
    - `discount` number, nullable
    - `discount_scheme` '%' | '$', nullable
  - `created` string, date-time
  - `updated` string, date-time

---

[API](https://skmtc.net/piriod/apis/piriod-api.md) · [All operations](https://skmtc.net/piriod/apis/piriod-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/piriod/piriod-api/versions/70cbc827dc7b/schema)
