consumer-accounts

Money Act

A refund, an account credit (dollars, at most CREDIT_LIMIT_CENTS), free months, or the refund of an order placed before the move to the new site (legacy_refund: the old order's number and a call reason; Pigeonly answers 503 until it switches that on, which is legacy_refunds_off here, nothing refunded). A refund names one of the customer's invoices (invoices on the customer's page) and an amount no larger than its refundable part, free months name one of their plans (subscriptions), else 422. Free months with no Recurly coupon named for that many answer 409 waiting_on_pigeonly and are recorded as refused (who, for whom, why).

A CREDIT THAT WOULD TAKE THE CUSTOMER PAST THE TOTAL (credit_total; Frederick, 2026-10-07, issue #3757: "an agent can give a customer up to $30 in credits in total, ever; any credit that would take them past $30 is held until Mark approves it", confirmed "Yes") is neither sent nor refused. It answers 200 {"done": false, "held": true, "message": ...}: held for the customer service supervisor, who is asked on his Today page. done is true only when Pigeonly confirmed the act.

A REFUND (of an invoice or of an older order) IS HELD THE SAME WAY past the customer's refund total (Frederick, 2026-10-07, issue #3757: "put same limit on refund no more then 3 months before manager approval"; the lead's reflection "an agent can refund a customer up to $15 in total, ever, on their own; any refund that would take them past $15 is held until Mark approves it" he confirmed with "Yes"). Same answer, same card. Credits and refunds have separate totals. No button is hidden.

post/api/consumer-accounts/customers/{user_id}/money-acts

Request

  • Base URL: https://api.pigeonly.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.pigeonly.com/api/consumer-accounts/customers/{user_id}/money-acts
  • Auth: none declared

Path parameters

user_idstring uuid required

Request body

ticket_idstring uuid nullable
call_idstring uuid nullable
request_idstring uuid required
suggestion_idstring uuid nullable
contact_reasonstring nullable
kind'refund' | 'free_credit' | 'free_months' | 'legacy_refund' required
reasonstring required
amount_centsinteger nullable
invoice_numberstring nullable
monthsinteger nullable
subscription_idstring uuid nullable
legacy_order_idinteger nullable
call_reason_idinteger nullable

Response

Successful Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.