Verify public registration payment
The secret order token authorizes access. Repeated paid/free/offline completion returns the existing registration. PayPal captures and verifies the provider order. Stripe reconciliation verifies ownership, amount, currency and provider state; a bank payment can remain processing until settlement, and late/refunded evidence can require reconciliation without activating tickets.
curl --request POST \
--url https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment \
--header 'Content-Type: application/json' \
--data '
{
"gateway": "stripe",
"payment_intent_id": "pi_example",
"paypal_order_id": "PAYPAL-ORDER"
}
'import requests
url = "https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment"
payload = {
"gateway": "stripe",
"payment_intent_id": "pi_example",
"paypal_order_id": "PAYPAL-ORDER"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
gateway: 'stripe',
payment_intent_id: 'pi_example',
paypal_order_id: 'PAYPAL-ORDER'
})
};
fetch('https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment', 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/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment",
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([
'gateway' => 'stripe',
'payment_intent_id' => 'pi_example',
'paypal_order_id' => 'PAYPAL-ORDER'
]),
CURLOPT_HTTPHEADER => [
"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/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment"
payload := strings.NewReader("{\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"paypal_order_id\": \"PAYPAL-ORDER\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment")
.header("Content-Type", "application/json")
.body("{\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"paypal_order_id\": \"PAYPAL-ORDER\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"paypal_order_id\": \"PAYPAL-ORDER\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Registration complete.",
"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"
},
"manage_url": "/events/42/annual-gala/orders/issued-token"
}{
"message": "Not Found",
"status": "error"
}{
"message": "Inventory, quote, reservation or retry-key conflict.",
"error_code": "invalid_reference",
"details": {}
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}Path Parameters
Public organization slug or numeric ID.
"example-foundation"
Event slug within the organization.
"annual-gala"
Secret order management capability.
"issued-order-token"
Body
Gateway selection; defaults to stored order gateway.
80"stripe"
Stripe intent or compatibility PayPal order ID; defaults to stored reference.
255"pi_example"
PayPal order ID; defaults to payment_intent_id/stored reference.
255"PAYPAL-ORDER"
curl --request POST \
--url https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment \
--header 'Content-Type: application/json' \
--data '
{
"gateway": "stripe",
"payment_intent_id": "pi_example",
"paypal_order_id": "PAYPAL-ORDER"
}
'import requests
url = "https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment"
payload = {
"gateway": "stripe",
"payment_intent_id": "pi_example",
"paypal_order_id": "PAYPAL-ORDER"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
gateway: 'stripe',
payment_intent_id: 'pi_example',
paypal_order_id: 'PAYPAL-ORDER'
})
};
fetch('https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment', 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/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment",
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([
'gateway' => 'stripe',
'payment_intent_id' => 'pi_example',
'paypal_order_id' => 'PAYPAL-ORDER'
]),
CURLOPT_HTTPHEADER => [
"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/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment"
payload := strings.NewReader("{\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"paypal_order_id\": \"PAYPAL-ORDER\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment")
.header("Content-Type", "application/json")
.body("{\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"paypal_order_id\": \"PAYPAL-ORDER\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders/{token}/complete-payment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"paypal_order_id\": \"PAYPAL-ORDER\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Registration complete.",
"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"
},
"manage_url": "/events/42/annual-gala/orders/issued-token"
}{
"message": "Not Found",
"status": "error"
}{
"message": "Inventory, quote, reservation or retry-key conflict.",
"error_code": "invalid_reference",
"details": {}
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}