# Pausing or recalling a placement

You can stop outreach on a placement at any time by **recalling** it via the API. Recall is permanent — the placement transitions to `recalled` status and we cease all activity.

A separate, temporary "pause" (where you stop outreach but expect to resume) is not yet supported. If you need a temporary stop, your options today are to (a) recall and re-place when you're ready, or (b) email `support@moderncollections.io` and ask us to put it on hold manually.

## What recall does

`POST /v1/placements/{placement_id}/recall` (no body) is the actual endpoint. When you call it, the platform:

* Sets `placement.status = recalled` and stamps `resolved_at`.
* Pauses every active `EmailSequence` for the placement (`status = paused`, `next_send_at = NULL`).
* Cancels every scheduled-but-not-yet-dialed `CallRecord` (`status = failed`).
* Writes a `placement.recalled` audit event with counts (`sequences_paused`, `calls_cancelled`).
* Fires a `placement.status_changed` webhook to your configured webhook URL.
* Snapshots the placement's terminal outcome score.

In-flight phone calls are not interrupted (the call finishes naturally), but no new calls are scheduled. In-flight email sends are aborted where possible.

> **Heads up:** there is no Recall button in the dashboard UI today — recall is API-only. The dashboard equivalent is planned but not yet built. The simplest current path is to call the endpoint with your API key (Settings → API Key).

## When to recall

Recall if you've decided to stop pursuing this debt entirely:

* The debtor paid you directly outside the portal.
* You're forgiving the debt as a goodwill gesture.
* You've sold or assigned the receivable to someone else.
* You've decided the cost of collection isn't worth it.
* You've referred the debt to an attorney directly and don't want us continuing in parallel.
* Your debtor's circumstances changed (bankruptcy, business closure) and pursuit no longer makes sense.

A recalled placement is closed permanently with status `recalled`. The audit trail is append-only and stays for compliance and your records.

> Note: there's no penalty for recalling. We'd rather you recall an account than have us spend time on something you've already resolved.

## Recording a payment the debtor made to you directly

If the debtor paid you outside the portal (wire, check, prior platform) and you want our records to match yours rather than just recalling, use the **payment-received** endpoint: `POST /v1/placements/{placement_id}/payment-received` with body `{"amount": <decimal>}`.

This calls `services/payment/service.py::mark_payment_received`, which adds to `recovered_amount`, recomputes `fee_amount`, and may transition the placement to `paid` if the full balance is recovered.

Like recall, there is no dashboard button for this today — it's API-only. The "Mark as paid" modal in the dashboard is planned but not yet built.

> Heads up: marking payment received still incurs the contingency fee on the recovered amount, because the placement was active during the collection process. If you collected the money before placing with us, recall instead.

## What about "pause"?

Today, "pause" effectively means one of:

* Recall, and re-place later when you want to resume.
* Email `support@moderncollections.io` and ask us to manually move the placement to a hold state.

A self-serve, reversible pause with an auto-resume date is on the roadmap.

## Bulk operations

Bulk pause / bulk recall / bulk anything from the dashboard is **not yet supported**. The Placements page does not have checkboxes or a bulk-action menu. If you need to recall a large batch, scripting the API call against your placement list is the current path.

## TODO

* Screenshot: API request / response for `/recall`.
* Screenshot: webhook payload for `placement.status_changed`.

***

Last reviewed: 2026-05-24 by Customer Success.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.moderncollections.io/for-creditor-partners/creditor-operations/pausing-or-recalling-a-placement.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
