---
title: "Check with the payment provider whether the charge's checkout was paid, and record it if so. Safe to repeat. 409 `payments_unavailable` when online payment is off; 409 `automatic_charge` for a charge taken from the saved card"
method: POST
path: "/v1/cases/{id}/charges/{chargeId}/confirm"
---

# Check with the payment provider whether the charge's checkout was paid, and record it if so. Safe to repeat. 409 \`payments_unavailable\` when online payment is off; 409 \`automatic_charge\` for a charge taken from the saved card

`POST /v1/cases/{id}/charges/{chargeId}/confirm`

## Request

- Base URL: `https://api.evictionsapi.com`
- URL: `https://api.evictionsapi.com/v1/cases/{id}/charges/{chargeId}/confirm`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

## Path parameters

- `id` string, required
- `chargeId` string, required

## Response `200`

The charge as it now is.

- Charge: An amount owed to the platform for a case: the platform fee, or court or service costs passed on at cost. The attorney's legal fee is never a charge here: it is separate and paid to the attorney.
  - `id` string, required
  - `kind` 'platform_fee' | 'court_costs' | 'service_costs' | 'other', required
  - `description` string, required
  - `amountCents` integer, required: US cents.
  - `status` 'due' | 'paid' | 'void' | 'refunded', required
  - `collection` 'checkout' | 'automatic', required: How the charge is paid. `checkout`: on the payment page (`POST /v1/cases/{id}/charges/{chargeId}/checkout`). `automatic`: a cost of a full-service case, taken from a saved card (`/v1/payment-methods`); it is never paid by checkout.
  - `paidAt` string, date-time, nullable, required
  - `receiptUrl` string, uri, nullable, required: The payment provider's public receipt page for a paid charge, kept shortly after the payment is recorded. Null until then, when it could not be read, and for charges paid before receipt links were kept (their receipt was sent by email).
  - `createdAt` string, date-time, required

## Other responses

- `400`: The request is invalid.
- `401`: The credential is missing or invalid.
- `403`: The credential is not allowed to do this (`forbidden`). For a signed-in session: `permission_denied`, the person's role in the organization lacks the permission this needs (ask an owner); `no_organization`, the person belongs to no organization yet (start one with `POST /v1/me/organizations` or accept an invitation).
- `404`: Not found.
- `409`: The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.
- `422`: The case did not pass a check.

---

[API](https://skmtc.dev/evictionsapi/apis/evictions-api.md) · [All operations](https://skmtc.dev/evictionsapi/apis/evictions-api/llms.txt) · [OpenAPI document](https://skmtc.dev/evictionsapi/apis/evictions-api/revisions/28459213a1a3?raw)
