---
title: "Request a refund for a failed run"
method: POST
path: "/v1/runs/{id}/refund"
tags: ["Runs"]
---

# Request a refund for a failed run

`POST /v1/runs/{id}/refund`

## Request

- Base URL: `https://api.roroquantum.com`
- URL: `https://api.roroquantum.com/v1/runs/{id}/refund`
- Auth: HTTP bearer

Opens a refund request for a run that failed on the machine's side and was charged — the
runs `GET /v1/runs/{id}` marks `refundable: true`. Provider-side failures are normally
refunded automatically (the run then shows `refundStatus: approved`); this is for the
remaining cases, and an operator resolves it. No credits move when the request is opened.
One request per run: asking again returns the existing one. Only the run's owner can ask —
any other run id is a 404.

## Path parameters

- `id` string, required

## Response `201`

The refund request (new, or the one already open for this run)

- RefundRequest: A refund ticket (`POST /v1/runs/{id}/refund`).
  - `id` string
  - `runId` string
  - `status` 'pending' | 'approved' | 'rejected'
  - `amount` number, double: Credits that would be returned.
  - `createdAt` string, date-time

## Other responses

- `400`: Not eligible — the run did not fail, failed because of the circuit, or had no cost
- `401`: Missing or invalid API key
- `404`: Run not found (or not yours — another account's run id is indistinguishable from a missing one)

---

[API](https://skmtc.dev/roroquantum/apis/roro-quantum-api.md) · [All operations](https://skmtc.dev/roroquantum/apis/roro-quantum-api/llms.txt) · [OpenAPI document](https://skmtc.dev/roroquantum/apis/roro-quantum-api/revisions/d6e194352018?raw)
