Skip to main content
POST
Refund a settlement

Authorizations

Authorization
string
header
required

Organization-scoped bearer credential: a customer API key (1club_sk_live_...) or an MCP OAuth access token.

Headers

Idempotency-Key
string

Retry-safe key; a repeat of the same request replays the first response

Maximum string length: 255

Path Parameters

id
integer
required

Body

application/json
reference
string
required

Your refund id.

Maximum string length: 128
amount
number

Tax included. Defaults to everything still refundable.

Response

Refund recorded

A billing transaction with amounts, payment status, and links to the originating booking or membership.

id
integer
uuid
string<uuid>

Stable unguessable identifier. Prefer this over id when storing a reference.

description
string | null
transactionType
string | null

TransactionType enum value (e.g. booking_creation, membership_creation, product_sale, membership_recurrence, etc.). A settlement recorded with POST /v1/platform/transactions is settlement.

bookingId
integer | null
membershipId
integer | null
contactId
integer | null

The customer charged, when there is one.

clubId
integer | null

Set on a settlement only; other transactions take their club from their booking or membership.

createdAt
string<date-time>
date
string<date-time>
paymentStatus
enum<string>
Available options:
pending,
paid,
void,
failed,
settled,
overdue,
partially_paid,
refunded,
cancelled
amount
string

Pre-tax amount as a decimal string (e.g. "25.00"). Serialized as a string to preserve precision.

taxAmount
string

Tax portion as a decimal string.

totalAmount
string

Total billed amount as a decimal string (amount + taxAmount).