---
title: "Re-run the customer's Stripe sync so resolved holds post"
method: POST
path: "/accountant/companies/{customerId}/stripe-posting-holds/retry"
tags: ["Accountant Portal"]
---

# Re-run the customer's Stripe sync so resolved holds post

`POST /accountant/companies/{customerId}/stripe-posting-holds/retry`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/accountant/companies/{customerId}/stripe-posting-holds/retry`
- Auth: HTTP bearer

Runs the normal idempotent Stripe App sync for the customer. A hold clears when its row posts. The sync completes past a recorded hold, so the result reads the queue afterwards: ok=false with openHolds and the newest hold's guard code while any hold is still open. Human accountant only.

## Response `200`

Success envelope with ok, synced, failed, openHolds, errorCode and errorMessage (newest open hold), syncErrorCode and syncErrorMessage (a sync failure, kept apart from the holds)

- object

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `404`: Resource not found
- `503`: Stripe sync is not configured on this API

---

[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)
