---
title: "Retry Failed Payment"
method: POST
path: "/billing/developer/billing-run-items/{billing_run_item_id}/retry"
tags: ["Billing", "billing"]
---

# Retry Failed Payment

`POST /billing/developer/billing-run-items/{billing_run_item_id}/retry`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/billing/developer/billing-run-items/{billing_run_item_id}/retry`
- Auth: none declared

Re-open a period whose Moov payment failed so the next live run bills it again.

Only allowed on payment_failed items. Flips the item to 'failed', which
get_unbilled_periods does not treat as claimed, and releases the one-off
adjustments it consumed so the re-billed period gets the same credits.
No transfer is made here. Developer only.

## Path parameters

- `billing_run_item_id` string, uuid, required

## Response `200`

Successful Response

- BillingRunItemResponse
  - `billing_run_item_id` string, uuid, required
  - `billing_run_id` string, uuid, required
  - `customer_id` string, uuid, required
  - `customer_name` string, nullable
  - `billing_contract_id` string, uuid, required
  - `status` string, required
  - `period_start` string, date-time, required
  - `period_end` string, date-time, required
  - `billing_date` string, date-time, required
  - `gross_amount_cents` integer, required
  - `gross_amount_display` string, required
  - `adjustment_amount_cents` integer, required
  - `adjustment_amount_display` string, required
  - `amount_cents` integer, required
  - `amount_display` string, required
  - `call_count` integer, nullable
  - `one_off_description` string, nullable
  - `applied_adjustments` AppliedAdjustmentResponse[]
    - `billing_adjustment_id` string, uuid, required
    - `description` string, required
    - `adjustment_type` 'credit' | 'charge', required
    - `amount_cents` integer, required
    - `amount_display` string, required
  - `moov_transfer_id` string, nullable
  - `moov_transfer_status` string, nullable
  - `payment_confirmed_at` string, date-time, nullable
  - `error_message` string, nullable
  - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-08** `376869b909f7`: 2 info
  - added the optional property `one_off_description` to the response with the `200` status
  - added the optional property `payment_confirmed_at` to the response with the `200` status
- **2026-09-30** `bba1521500af`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/openintake/apis/openintake-api/changes/billing/developer/billing-run-items/:billing_run_item_id/retry/post.md)

---

[API](https://skmtc.dev/openintake/apis/openintake-api.md) - [All operations](https://skmtc.dev/openintake/apis/openintake-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openintake/apis/openintake-api/revisions/de90a8dcbc07?raw)
