Skip to content
FreeTicketDocs
Esc
↑↓navigate↵open⌘Jpreview

Refund a sale (moving the funds depends on the payment gateway)

Marks the sale as REFUNDED and releases the associated numbered seats. IMPORTANT: whether the money goes back to the buyer depends on the payment gateway and the payment method used. Only sales charged through Wompi by CARD are actually voided against the payment gateway before being marked. In every other case this endpoint does NOT trigger the actual refund: the money is NOT returned automatically and a 200 only confirms the accounting status change. Those refunds must be handled separately in the payment gateway’s dashboard. Wompi payment methods without API refunds (PSE, Nequi, Bancolombia transfer) respond 409: return the money in the Wompi dashboard and repeat the call with {“acknowledge_manual”: true} to reflect the accounting status. A 502 means the gateway rejected the void and the sale remains CONFIRMED.

POST/sales/{id}/refund
Authorization
AuthorizationAPI key · headerrequired

API key prefixed with Bearer . Alternative: the x-api-key header with the raw key. Available scopes: read and write (see /.well-known/oauth-protected-resource).

or
x-api-keyAPI key · headerrequired

Raw API key (without Bearer ), alternative to Authorization.

Path parameters
idstringrequired
Header parameters
X-Workspace-Idstring

Active workspace to operate on. Optional: when omitted, the default workspace of the user who owns the key is used (pickActiveOrg).

Request body
requiredapplication/json
acknowledge_manualboolean
Responses
200

OK

dataSalerequired
Show properties
idstringrequired
referencestringrequired
statusstringrequired
Allowed:PENDINGCONFIRMEDABANDONEDCANCELLEDREFUNDED
channelstringrequired
subtotalnumberrequired
discountAmountnumberrequired
serviceFeenumberrequired
ivanumberrequired
totalnumberrequired
currencystringrequired
buyerNamestringrequired
buyerEmailstringrequired
buyerPhonestring | nullrequired
Show properties
Any of:
string
string
null
null
buyerDocumentTypestring | nullrequired
Show properties
Any of:
string
string
null
null
buyerDocumentNumberstring | nullrequired
Show properties
Any of:
string
string
null
null
organizationIdstring | nullrequired
Show properties
Any of:
string
string
null
null
paymentProviderstring | nullrequired
Show properties
Any of:
string
string
null
null
paymentRefstring | nullrequired
Show properties
Any of:
string
string
null
null
confirmedAtstring | nullrequired
Show properties
Any of:
string
string
null
null
createdAtstringrequired
failureReasonstring | nullrequired
Show properties
Any of:
string
string
null
null
paymentStatusstring | nullrequired

Status of the latest payment event. Usually the payment gateway's RAW status in its own vocabulary. Values prefixed with FT_ come from FreeTicket, not the gateway: currently FT_SALE_APPROVED_POST_CONFIRM, which marks that the gateway re-notified an already-confirmed charge — this is how Bold reports its refunds. A CONFIRMED sale with this status may have money refunded that is not yet recorded.

Show properties
Any of:
string
string
null
null
declineCodestring | nullrequired
Show properties
Any of:
string
string
null
null
401

Missing or invalid credential.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
403

Insufficient role or resource not accessible.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
404

Resource does not exist or is out of scope.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
409

Conflict: the resource does not allow this operation in its current state.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
422

Request body/parameter validation failed.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
502

The external provider failed to complete the operation.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST 'https://admin.appfreeticket.com/api/v1/sales/string/refund' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "acknowledge_manual": true
}'
Response
{
  "data": {
    "id": "string",
    "reference": "string",
    "status": "PENDING",
    "channel": "string",
    "subtotal": 0,
    "discountAmount": 0,
    "serviceFee": 0,
    "iva": 0,
    "total": 0,
    "currency": "string",
    "buyerName": "string",
    "buyerEmail": "string",
    "buyerPhone": "string",
    "buyerDocumentType": "string",
    "buyerDocumentNumber": "string",
    "organizationId": "string",
    "paymentProvider": "string",
    "paymentRef": "string",
    "confirmedAt": "string",
    "createdAt": "string",
    "failureReason": "string",
    "paymentStatus": "string",
    "declineCode": "string"
  }
}