---
title: "Create a refund session"
method: POST
path: "/api/v1/refund-session"
tags: ["Refunds"]
---

# Create a refund session

`POST /api/v1/refund-session`

Create a refund session

## Request body

- RefundSessionInput
  - `merchant_id` string, uuid — Merchant ID. Defaults to the logged-in merchant if not provided. Required for admin tokens.
  - `id` string — Shopify refund session ID
  - `gid` string — Global identifier
  - `payment_id` string, required — Original payment ID
  - `amount` string, required — Refund amount
  - `currency` string, required — ISO 4217 currency code
  - `merchant_locale` string — Merchant locale
  - `platform` union, required — Platform initiating the refund
    - 'shopify'
    - 'woocommerce'
  - `proposed_at` string — When the refund was proposed
  - `test` boolean — Whether this is a test refund

## Response `200`

Success

- object
  - `id` string, required
  - `status` string, required
  - `reason` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

## Changes

- **2026-06-16** `b372e7d5563d` — 3 breaking, 2 warning, 3 info
  - the `currency` request property's minLength was increased from `0` to `3`
  - added the pattern `^[A-Za-z]{3}$` to the request property `currency`
  - the `error/code` response's property type/format changed from `string`/`` to ``/`` for status `400`
  - the `currency` request property's maxLength was set to `3`
  - …4 more
- **2025-11-03** `6637b341d86d` — 1 info
  - endpoint added
- **2025-11-02** `919eb7a392aa` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/banqzinc/apis/quidkey-api/changes/api/v1/refund-session/post.md)

---

[API](https://skmtc.dev/banqzinc/apis/quidkey-api.md) · [All operations](https://skmtc.dev/banqzinc/apis/quidkey-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/banqzinc/quidkey-api/revisions/f86d2bdbcb08/schema)
