Cancel or record a refund for event registration
Cancels registration/groups/attendees/sponsors, releases seats and inventory, updates receipt and recorded donation refund state, and queues lifecycle follow-up. This endpoint records a refund; it does not submit a provider refund. refund_amount defaults to the total and is clamped to 0–total. Repeated cancellation/refund returns the existing state. Unresolved saved-method charges must be reconciled first. A bank payment awaiting settlement cannot be manually completed or cancelled.
curl --request POST \
--url https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "Guest cannot attend",
"refund": false,
"refund_amount": 25,
"refund_reference": "refund-001"
}
'import requests
url = "https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel"
payload = {
"reason": "Guest cannot attend",
"refund": False,
"refund_amount": 25,
"refund_reference": "refund-001"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
reason: 'Guest cannot attend',
refund: false,
refund_amount: 25,
refund_reference: 'refund-001'
})
};
fetch('https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reason' => 'Guest cannot attend',
'refund' => false,
'refund_amount' => 25,
'refund_reference' => 'refund-001'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel"
payload := strings.NewReader("{\n \"reason\": \"Guest cannot attend\",\n \"refund\": false,\n \"refund_amount\": 25,\n \"refund_reference\": \"refund-001\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"Guest cannot attend\",\n \"refund\": false,\n \"refund_amount\": 25,\n \"refund_reference\": \"refund-001\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"Guest cannot attend\",\n \"refund\": false,\n \"refund_amount\": 25,\n \"refund_reference\": \"refund-001\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 42,
"order_number": "EVT-42-001",
"status": "completed",
"payment_status": "paid",
"payment_method": "Example",
"payment_instructions": "Example",
"gateway": "Example",
"payment_intent_id": "Example",
"subtotal_amount": 25,
"discount_amount": 25,
"donation_amount": 25,
"fees_covered_amount": 25,
"tax_deductible_amount": 25,
"non_deductible_amount": 25,
"total_amount": 25,
"currency": "USD",
"purchaser_name": "Example",
"purchaser_email": "Example",
"version": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"reservation_expires_at": "2026-10-20T12:00:00Z",
"quote_fingerprint": "Example",
"quote_snapshot": {
"quote_fingerprint": "sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"expires_at": "2026-10-20T12:00:00Z",
"currency": "USD",
"availability": {
"event_state": "open",
"admissions_requested": 42,
"admissions_remaining": 42
},
"lines": [
{
"source": "ticket",
"source_id": 42,
"label": "General admission",
"units": 42,
"admissions_per_unit": 42,
"admissions": 42,
"pre_reserved_units": 42,
"unit_amount": "25.00",
"fair_market_value": "25.00",
"subtotal": "25.00",
"discount": "25.00",
"total": "25.00",
"non_deductible": "25.00",
"snapshot": {
"name": "General admission",
"code": "Example",
"tier": "Example",
"registration_group_kind": "individual",
"group_label_prompt": "Example",
"attendee_details_timing": "checkout",
"admissions_per_unit": 42,
"unit_amount": "25.00",
"fair_market_value": "25.00"
}
}
],
"promo_code_id": 42,
"promo_code": "Example",
"subtotal": "25.00",
"discount": "25.00",
"fee_coverage": "25.00",
"donation": "25.00",
"tax_deductible": "25.00",
"non_deductible": "25.00",
"total": "25.00",
"attendee_slots": 42
},
"line_items": [
{
"type": "ticket",
"label": "General admission",
"ticket_type_id": 42,
"sponsor_package_id": 42,
"auction_item_id": 42,
"auction_bid_id": 42,
"quantity": 42,
"unit_amount": 25,
"line_total": 25,
"fair_market_total": 25,
"discount": 25,
"admissions_per_unit": 42,
"admissions": 42,
"source_snapshot": {
"name": "General admission",
"code": "Example",
"tier": "Example",
"registration_group_kind": "individual",
"group_label_prompt": "Example",
"attendee_details_timing": "checkout",
"admissions_per_unit": 42,
"unit_amount": "25.00",
"fair_market_value": "25.00"
}
}
],
"metadata": {
"registration_version": 42,
"conversion_intents": {
"recurring_gift": false,
"child_sponsorship": false
},
"sponsorship_interest": {
"program_id": 42,
"recipient_id": 42,
"recipient_label": "Alex",
"url": "/frontend/view_entity/42/7/9"
}
},
"receipt_snapshot": {
"receipt_type": "event_combined_receipt",
"event_id": 42,
"event_name": "Annual Gala",
"order_number": "EVT-42-001",
"donation_id": 42,
"currency": "USD",
"subtotal_amount": 25,
"discount_amount": 25,
"fees_covered_amount": 25,
"total_amount": 25,
"tax_deductible_amount": 25,
"non_deductible_amount": 25,
"donation_amount": 25,
"payment_method": "Example",
"payment_status": "paid",
"payment_instructions": "Example",
"line_items": [
{
"type": "ticket",
"label": "General admission",
"ticket_type_id": 42,
"sponsor_package_id": 42,
"auction_item_id": 42,
"auction_bid_id": 42,
"quantity": 42,
"unit_amount": 25,
"line_total": 25,
"fair_market_total": 25,
"discount": 25,
"admissions_per_unit": 42,
"admissions": 42,
"source_snapshot": {
"name": "General admission",
"code": "Example",
"tier": "Example",
"registration_group_kind": "individual",
"group_label_prompt": "Example",
"attendee_details_timing": "checkout",
"admissions_per_unit": 42,
"unit_amount": "25.00",
"fair_market_value": "25.00"
}
}
],
"issued_at": "2026-10-20T12:00:00Z",
"receipt_note": "Ticket fair market value is separated from deductible event support.",
"adjustment_type": "refund",
"refunded_amount": 25,
"active_total_amount": 25,
"active_tax_deductible_amount": 25,
"adjustment_reason": "Example",
"adjusted_at": "2026-10-20T12:00:00Z"
},
"receipt_sent_at": "2026-10-20T12:00:00Z",
"registration_questions": [
{
"field_key": "dietary",
"field_label": "Dietary requirements",
"field_type": "text",
"options": [
"Vegetarian"
],
"scope": "buyer",
"required": false,
"id": 42,
"help_text": "Example",
"applies_to_ticket_type_ids": [
42
]
}
],
"event": {
"id": 42,
"branding_program_id": 42,
"name": "Annual Gala",
"slug": "annual-gala",
"starts_at": "2026-10-20T12:00:00Z",
"timezone": "Africa/Kampala",
"location": {
"mode": "released_full",
"label": "Kampala",
"venue": "Example",
"address": "Example",
"map_allowed": false
}
},
"registration_groups": [
{
"id": 42,
"source_kind": "ticket",
"source_id": 42,
"event_ticket_type_id": 42,
"kind": "individual",
"label": "Example",
"admissions_reserved": 42,
"attendee_details_timing": "checkout",
"status": "complete",
"source_snapshot": {
"name": "General admission",
"code": "Example",
"tier": "Example",
"registration_group_kind": "individual",
"group_label_prompt": "Example",
"attendee_details_timing": "checkout",
"admissions_per_unit": 42,
"unit_amount": "25.00",
"fair_market_value": "25.00"
},
"details_completed_at": "2026-10-20T12:00:00Z",
"answers": [
{
"id": 42,
"question_id": 42,
"question": {
"field_key": "dietary",
"field_label": "Dietary requirements",
"field_type": "text",
"options": [
"Vegetarian"
],
"scope": "buyer",
"required": false
},
"answer": "Vegetarian"
}
],
"attendee_ids": [
42
]
}
],
"attendees": [
{
"id": 42,
"event_registration_group_id": 42,
"event_ticket_type_id": 42,
"ticket_code": "EVT-42-00001",
"name": "Jane Doe",
"first_name": "Example",
"last_name": "Example",
"email": "Example",
"ticket_type": "Example",
"table": "Example",
"status": "registered",
"qr_token": "<string>",
"details_completed_at": "2026-10-20T12:00:00Z",
"qr_url": "Example",
"wallet_pass_url": "Example",
"wallet_pass_status": "inactive",
"checked_in_at": "2026-10-20T12:00:00Z",
"answers": [
{
"id": 42,
"question_id": 42,
"question": {
"field_key": "dietary",
"field_label": "Dietary requirements",
"field_type": "text",
"options": [
"Vegetarian"
],
"scope": "buyer",
"required": false
},
"answer": "Vegetarian"
}
],
"metadata": {
"source": "Example",
"event_sponsor_id": 42,
"sponsor_ticket_slot": 42
}
}
],
"sponsors": [
{
"id": 42,
"company_name": "Example",
"contact_name": "Example",
"contact_email": "Example",
"contact_phone": "Example",
"notes": "Example",
"status": "active",
"amount": 25,
"fair_market_value": 25,
"included_tickets_assigned": 42,
"public_visibility": false,
"renewal_follow_up_at": "2026-10-20T12:00:00Z",
"logo_upload_id": 42,
"logo_url": "Example",
"package": {
"id": 42,
"name": "Example",
"tier": "Example",
"included_tickets": 42,
"included_tables": 42
},
"deliverables": [
{
"id": 42,
"type": "logo",
"label": "Logo placement",
"status": "pending",
"due_at": "2026-10-20T12:00:00Z",
"completed_at": "2026-10-20T12:00:00Z"
}
]
}
],
"auction_items": [
{
"id": 42,
"event_auction_item_id": 42,
"name": "Example",
"amount": 25,
"quantity": 42,
"status": "paid",
"bidder_name": "Example",
"bidder_email": "Example"
}
],
"payment_reconciliation_required": false,
"payment_provider_status": "Example"
}
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"message": "Not Found",
"status": "error"
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}Authorizations
Passport bearer token authentication for legacy admin sessions.
Path Parameters
Record ID in the authenticated organization.
42
Record ID in the authenticated organization.
42
Body
Cancellation explanation.
1000"Guest cannot attend"
Record the order as refunded.
false
Recorded refund amount; used only with refund=true.
x >= 025
External refund reference.
255"refund-001"
Response
Cancel or record a refund for event registration completed.
Show child attributes
Show child attributes
curl --request POST \
--url https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "Guest cannot attend",
"refund": false,
"refund_amount": 25,
"refund_reference": "refund-001"
}
'import requests
url = "https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel"
payload = {
"reason": "Guest cannot attend",
"refund": False,
"refund_amount": 25,
"refund_reference": "refund-001"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
reason: 'Guest cannot attend',
refund: false,
refund_amount: 25,
refund_reference: 'refund-001'
})
};
fetch('https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reason' => 'Guest cannot attend',
'refund' => false,
'refund_amount' => 25,
'refund_reference' => 'refund-001'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel"
payload := strings.NewReader("{\n \"reason\": \"Guest cannot attend\",\n \"refund\": false,\n \"refund_amount\": 25,\n \"refund_reference\": \"refund-001\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"Guest cannot attend\",\n \"refund\": false,\n \"refund_amount\": 25,\n \"refund_reference\": \"refund-001\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/events/{eventId}/orders/{orderId}/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"Guest cannot attend\",\n \"refund\": false,\n \"refund_amount\": 25,\n \"refund_reference\": \"refund-001\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 42,
"order_number": "EVT-42-001",
"status": "completed",
"payment_status": "paid",
"payment_method": "Example",
"payment_instructions": "Example",
"gateway": "Example",
"payment_intent_id": "Example",
"subtotal_amount": 25,
"discount_amount": 25,
"donation_amount": 25,
"fees_covered_amount": 25,
"tax_deductible_amount": 25,
"non_deductible_amount": 25,
"total_amount": 25,
"currency": "USD",
"purchaser_name": "Example",
"purchaser_email": "Example",
"version": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"reservation_expires_at": "2026-10-20T12:00:00Z",
"quote_fingerprint": "Example",
"quote_snapshot": {
"quote_fingerprint": "sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"expires_at": "2026-10-20T12:00:00Z",
"currency": "USD",
"availability": {
"event_state": "open",
"admissions_requested": 42,
"admissions_remaining": 42
},
"lines": [
{
"source": "ticket",
"source_id": 42,
"label": "General admission",
"units": 42,
"admissions_per_unit": 42,
"admissions": 42,
"pre_reserved_units": 42,
"unit_amount": "25.00",
"fair_market_value": "25.00",
"subtotal": "25.00",
"discount": "25.00",
"total": "25.00",
"non_deductible": "25.00",
"snapshot": {
"name": "General admission",
"code": "Example",
"tier": "Example",
"registration_group_kind": "individual",
"group_label_prompt": "Example",
"attendee_details_timing": "checkout",
"admissions_per_unit": 42,
"unit_amount": "25.00",
"fair_market_value": "25.00"
}
}
],
"promo_code_id": 42,
"promo_code": "Example",
"subtotal": "25.00",
"discount": "25.00",
"fee_coverage": "25.00",
"donation": "25.00",
"tax_deductible": "25.00",
"non_deductible": "25.00",
"total": "25.00",
"attendee_slots": 42
},
"line_items": [
{
"type": "ticket",
"label": "General admission",
"ticket_type_id": 42,
"sponsor_package_id": 42,
"auction_item_id": 42,
"auction_bid_id": 42,
"quantity": 42,
"unit_amount": 25,
"line_total": 25,
"fair_market_total": 25,
"discount": 25,
"admissions_per_unit": 42,
"admissions": 42,
"source_snapshot": {
"name": "General admission",
"code": "Example",
"tier": "Example",
"registration_group_kind": "individual",
"group_label_prompt": "Example",
"attendee_details_timing": "checkout",
"admissions_per_unit": 42,
"unit_amount": "25.00",
"fair_market_value": "25.00"
}
}
],
"metadata": {
"registration_version": 42,
"conversion_intents": {
"recurring_gift": false,
"child_sponsorship": false
},
"sponsorship_interest": {
"program_id": 42,
"recipient_id": 42,
"recipient_label": "Alex",
"url": "/frontend/view_entity/42/7/9"
}
},
"receipt_snapshot": {
"receipt_type": "event_combined_receipt",
"event_id": 42,
"event_name": "Annual Gala",
"order_number": "EVT-42-001",
"donation_id": 42,
"currency": "USD",
"subtotal_amount": 25,
"discount_amount": 25,
"fees_covered_amount": 25,
"total_amount": 25,
"tax_deductible_amount": 25,
"non_deductible_amount": 25,
"donation_amount": 25,
"payment_method": "Example",
"payment_status": "paid",
"payment_instructions": "Example",
"line_items": [
{
"type": "ticket",
"label": "General admission",
"ticket_type_id": 42,
"sponsor_package_id": 42,
"auction_item_id": 42,
"auction_bid_id": 42,
"quantity": 42,
"unit_amount": 25,
"line_total": 25,
"fair_market_total": 25,
"discount": 25,
"admissions_per_unit": 42,
"admissions": 42,
"source_snapshot": {
"name": "General admission",
"code": "Example",
"tier": "Example",
"registration_group_kind": "individual",
"group_label_prompt": "Example",
"attendee_details_timing": "checkout",
"admissions_per_unit": 42,
"unit_amount": "25.00",
"fair_market_value": "25.00"
}
}
],
"issued_at": "2026-10-20T12:00:00Z",
"receipt_note": "Ticket fair market value is separated from deductible event support.",
"adjustment_type": "refund",
"refunded_amount": 25,
"active_total_amount": 25,
"active_tax_deductible_amount": 25,
"adjustment_reason": "Example",
"adjusted_at": "2026-10-20T12:00:00Z"
},
"receipt_sent_at": "2026-10-20T12:00:00Z",
"registration_questions": [
{
"field_key": "dietary",
"field_label": "Dietary requirements",
"field_type": "text",
"options": [
"Vegetarian"
],
"scope": "buyer",
"required": false,
"id": 42,
"help_text": "Example",
"applies_to_ticket_type_ids": [
42
]
}
],
"event": {
"id": 42,
"branding_program_id": 42,
"name": "Annual Gala",
"slug": "annual-gala",
"starts_at": "2026-10-20T12:00:00Z",
"timezone": "Africa/Kampala",
"location": {
"mode": "released_full",
"label": "Kampala",
"venue": "Example",
"address": "Example",
"map_allowed": false
}
},
"registration_groups": [
{
"id": 42,
"source_kind": "ticket",
"source_id": 42,
"event_ticket_type_id": 42,
"kind": "individual",
"label": "Example",
"admissions_reserved": 42,
"attendee_details_timing": "checkout",
"status": "complete",
"source_snapshot": {
"name": "General admission",
"code": "Example",
"tier": "Example",
"registration_group_kind": "individual",
"group_label_prompt": "Example",
"attendee_details_timing": "checkout",
"admissions_per_unit": 42,
"unit_amount": "25.00",
"fair_market_value": "25.00"
},
"details_completed_at": "2026-10-20T12:00:00Z",
"answers": [
{
"id": 42,
"question_id": 42,
"question": {
"field_key": "dietary",
"field_label": "Dietary requirements",
"field_type": "text",
"options": [
"Vegetarian"
],
"scope": "buyer",
"required": false
},
"answer": "Vegetarian"
}
],
"attendee_ids": [
42
]
}
],
"attendees": [
{
"id": 42,
"event_registration_group_id": 42,
"event_ticket_type_id": 42,
"ticket_code": "EVT-42-00001",
"name": "Jane Doe",
"first_name": "Example",
"last_name": "Example",
"email": "Example",
"ticket_type": "Example",
"table": "Example",
"status": "registered",
"qr_token": "<string>",
"details_completed_at": "2026-10-20T12:00:00Z",
"qr_url": "Example",
"wallet_pass_url": "Example",
"wallet_pass_status": "inactive",
"checked_in_at": "2026-10-20T12:00:00Z",
"answers": [
{
"id": 42,
"question_id": 42,
"question": {
"field_key": "dietary",
"field_label": "Dietary requirements",
"field_type": "text",
"options": [
"Vegetarian"
],
"scope": "buyer",
"required": false
},
"answer": "Vegetarian"
}
],
"metadata": {
"source": "Example",
"event_sponsor_id": 42,
"sponsor_ticket_slot": 42
}
}
],
"sponsors": [
{
"id": 42,
"company_name": "Example",
"contact_name": "Example",
"contact_email": "Example",
"contact_phone": "Example",
"notes": "Example",
"status": "active",
"amount": 25,
"fair_market_value": 25,
"included_tickets_assigned": 42,
"public_visibility": false,
"renewal_follow_up_at": "2026-10-20T12:00:00Z",
"logo_upload_id": 42,
"logo_url": "Example",
"package": {
"id": 42,
"name": "Example",
"tier": "Example",
"included_tickets": 42,
"included_tables": 42
},
"deliverables": [
{
"id": 42,
"type": "logo",
"label": "Logo placement",
"status": "pending",
"due_at": "2026-10-20T12:00:00Z",
"completed_at": "2026-10-20T12:00:00Z"
}
]
}
],
"auction_items": [
{
"id": 42,
"event_auction_item_id": 42,
"name": "Example",
"amount": 25,
"quantity": 42,
"status": "paid",
"bidder_name": "Example",
"bidder_email": "Example"
}
],
"payment_reconciliation_required": false,
"payment_provider_status": "Example"
}
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"message": "Not Found",
"status": "error"
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}