---
title: "Drawer lifecycle action (mark paid / void / uncollectible), FSM-enforced"
method: POST
path: "/companies/{companyId}/ar/{id}/status"
tags: ["AR/AP"]
---

# Drawer lifecycle action (mark paid / void / uncollectible), FSM-enforced

`POST /companies/{companyId}/ar/{id}/status`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/companies/{companyId}/ar/{id}/status`
- Auth: HTTP bearer

Transitions to 'paid' also record an ar_item_payments row for the outstanding amount (paid_at = today) and settle amountPaidCents, so the pipeline's collected-by-month reflects manual mark-paid flows.

## Response `200`

Status updated (with availableTransitions)

## Other responses

- `404`: Not found or AR/AP not enabled
- `409`: Stripe-source item is status-locked
- `422`: Illegal transition

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
