Create public event registration
Creates a registration and starts a processor handoff when money remains due. V2 requires a current quote and stable retry key, validates all group slots/required questions and reserves inventory for the event reservation window (5–60 minutes, default 15). Legacy retries return the order for the same key; V2 rejects a changed cart. Free/approved check orders complete immediately. Public donor identity fields follow event form context; event settings suppress disabled giving asks.
curl --request POST \
--url https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders \
--header 'Content-Type: application/json' \
--data '
{
"purchaser": {
"email": "jane@example.org",
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"organization_name": "Example Foundation",
"phone": "+12565550123",
"type": "INDIVIDUAL",
"donor_type": "INDIVIDUAL"
},
"tickets": [
{
"ticket_type_id": 42,
"quantity": 1,
"groups": [
{
"client_key": "group-1",
"label": "Doe family",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"sponsor_packages": [
{
"sponsor_package_id": 42,
"quantity": 1,
"groups": [
{
"client_key": "group-1",
"label": "Doe family",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"company_name": "Example Foundation",
"contact_name": "Jane Doe",
"contact_email": "jane@example.org",
"contact_phone": "+12565550123",
"logo_upload_id": 42
}
],
"auction_items": [
{
"auction_item_id": 42,
"quantity": 1,
"amount": 25
}
],
"promo_code": "WELCOME",
"donation_amount": 25,
"fees_covered_amount": 25,
"payment_method": "card",
"gateway": "stripe",
"payment_intent_id": "pi_example",
"currency": "USD",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"conversion_intents": [
"recurring_gift"
],
"idempotency_key": "registration-request-1",
"create_donor": true,
"purchaser_contact": {
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123"
},
"buyer": {
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"organization_name": "Example Foundation",
"email": "jane@example.org",
"phone": "+12565550123",
"type": "INDIVIDUAL",
"donor_type": "INDIVIDUAL"
},
"auction_bids": [
{
"auction_bid_id": 42
}
],
"quote_fingerprint": "sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"waitlist_offer_token": "issued-offer-token",
"cover_fees": false,
"sponsorship_recipient_id": 42,
"buyer_is_attendee": {
"group_client_key": "group-1",
"slot_index": 0
}
}
'import requests
url = "https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders"
payload = {
"purchaser": {
"email": "jane@example.org",
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"organization_name": "Example Foundation",
"phone": "+12565550123",
"type": "INDIVIDUAL",
"donor_type": "INDIVIDUAL"
},
"tickets": [
{
"ticket_type_id": 42,
"quantity": 1,
"groups": [
{
"client_key": "group-1",
"label": "Doe family",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"sponsor_packages": [
{
"sponsor_package_id": 42,
"quantity": 1,
"groups": [
{
"client_key": "group-1",
"label": "Doe family",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"company_name": "Example Foundation",
"contact_name": "Jane Doe",
"contact_email": "jane@example.org",
"contact_phone": "+12565550123",
"logo_upload_id": 42
}
],
"auction_items": [
{
"auction_item_id": 42,
"quantity": 1,
"amount": 25
}
],
"promo_code": "WELCOME",
"donation_amount": 25,
"fees_covered_amount": 25,
"payment_method": "card",
"gateway": "stripe",
"payment_intent_id": "pi_example",
"currency": "USD",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"conversion_intents": ["recurring_gift"],
"idempotency_key": "registration-request-1",
"create_donor": True,
"purchaser_contact": {
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123"
},
"buyer": {
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"organization_name": "Example Foundation",
"email": "jane@example.org",
"phone": "+12565550123",
"type": "INDIVIDUAL",
"donor_type": "INDIVIDUAL"
},
"auction_bids": [{ "auction_bid_id": 42 }],
"quote_fingerprint": "sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"waitlist_offer_token": "issued-offer-token",
"cover_fees": False,
"sponsorship_recipient_id": 42,
"buyer_is_attendee": {
"group_client_key": "group-1",
"slot_index": 0
}
}
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({
purchaser: {
email: 'jane@example.org',
name: 'Jane Doe',
first_name: 'Jane',
last_name: 'Doe',
organization_name: 'Example Foundation',
phone: '+12565550123',
type: 'INDIVIDUAL',
donor_type: 'INDIVIDUAL'
},
tickets: [
{
ticket_type_id: 42,
quantity: 1,
groups: [
{
client_key: 'group-1',
label: 'Doe family',
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}],
attendees: [
{
first_name: 'Jane',
last_name: 'Doe',
email: 'jane@example.org',
phone: '+12565550123',
event_table_id: 42,
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}]
}
]
}
],
attendees: [
{
first_name: 'Jane',
last_name: 'Doe',
email: 'jane@example.org',
phone: '+12565550123',
event_table_id: 42,
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}]
}
]
}
],
sponsor_packages: [
{
sponsor_package_id: 42,
quantity: 1,
groups: [
{
client_key: 'group-1',
label: 'Doe family',
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}],
attendees: [
{
first_name: 'Jane',
last_name: 'Doe',
email: 'jane@example.org',
phone: '+12565550123',
event_table_id: 42,
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}]
}
]
}
],
company_name: 'Example Foundation',
contact_name: 'Jane Doe',
contact_email: 'jane@example.org',
contact_phone: '+12565550123',
logo_upload_id: 42
}
],
auction_items: [{auction_item_id: 42, quantity: 1, amount: 25}],
promo_code: 'WELCOME',
donation_amount: 25,
fees_covered_amount: 25,
payment_method: 'card',
gateway: 'stripe',
payment_intent_id: 'pi_example',
currency: 'USD',
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}],
conversion_intents: ['recurring_gift'],
idempotency_key: 'registration-request-1',
create_donor: true,
purchaser_contact: {
name: 'Jane Doe',
first_name: 'Jane',
last_name: 'Doe',
email: 'jane@example.org',
phone: '+12565550123'
},
buyer: {
name: 'Jane Doe',
first_name: 'Jane',
last_name: 'Doe',
organization_name: 'Example Foundation',
email: 'jane@example.org',
phone: '+12565550123',
type: 'INDIVIDUAL',
donor_type: 'INDIVIDUAL'
},
auction_bids: [{auction_bid_id: 42}],
quote_fingerprint: 'sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
waitlist_offer_token: 'issued-offer-token',
cover_fees: false,
sponsorship_recipient_id: 42,
buyer_is_attendee: {group_client_key: 'group-1', slot_index: 0}
})
};
fetch('https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders', 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",
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([
'purchaser' => [
'email' => 'jane@example.org',
'name' => 'Jane Doe',
'first_name' => 'Jane',
'last_name' => 'Doe',
'organization_name' => 'Example Foundation',
'phone' => '+12565550123',
'type' => 'INDIVIDUAL',
'donor_type' => 'INDIVIDUAL'
],
'tickets' => [
[
'ticket_type_id' => 42,
'quantity' => 1,
'groups' => [
[
'client_key' => 'group-1',
'label' => 'Doe family',
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
],
'attendees' => [
[
'first_name' => 'Jane',
'last_name' => 'Doe',
'email' => 'jane@example.org',
'phone' => '+12565550123',
'event_table_id' => 42,
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
]
]
]
]
],
'attendees' => [
[
'first_name' => 'Jane',
'last_name' => 'Doe',
'email' => 'jane@example.org',
'phone' => '+12565550123',
'event_table_id' => 42,
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
]
]
]
]
],
'sponsor_packages' => [
[
'sponsor_package_id' => 42,
'quantity' => 1,
'groups' => [
[
'client_key' => 'group-1',
'label' => 'Doe family',
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
],
'attendees' => [
[
'first_name' => 'Jane',
'last_name' => 'Doe',
'email' => 'jane@example.org',
'phone' => '+12565550123',
'event_table_id' => 42,
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
]
]
]
]
],
'company_name' => 'Example Foundation',
'contact_name' => 'Jane Doe',
'contact_email' => 'jane@example.org',
'contact_phone' => '+12565550123',
'logo_upload_id' => 42
]
],
'auction_items' => [
[
'auction_item_id' => 42,
'quantity' => 1,
'amount' => 25
]
],
'promo_code' => 'WELCOME',
'donation_amount' => 25,
'fees_covered_amount' => 25,
'payment_method' => 'card',
'gateway' => 'stripe',
'payment_intent_id' => 'pi_example',
'currency' => 'USD',
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
],
'conversion_intents' => [
'recurring_gift'
],
'idempotency_key' => 'registration-request-1',
'create_donor' => true,
'purchaser_contact' => [
'name' => 'Jane Doe',
'first_name' => 'Jane',
'last_name' => 'Doe',
'email' => 'jane@example.org',
'phone' => '+12565550123'
],
'buyer' => [
'name' => 'Jane Doe',
'first_name' => 'Jane',
'last_name' => 'Doe',
'organization_name' => 'Example Foundation',
'email' => 'jane@example.org',
'phone' => '+12565550123',
'type' => 'INDIVIDUAL',
'donor_type' => 'INDIVIDUAL'
],
'auction_bids' => [
[
'auction_bid_id' => 42
]
],
'quote_fingerprint' => 'sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
'waitlist_offer_token' => 'issued-offer-token',
'cover_fees' => false,
'sponsorship_recipient_id' => 42,
'buyer_is_attendee' => [
'group_client_key' => 'group-1',
'slot_index' => 0
]
]),
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"
payload := strings.NewReader("{\n \"purchaser\": {\n \"email\": \"jane@example.org\",\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"tickets\": [\n {\n \"ticket_type_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"sponsor_packages\": [\n {\n \"sponsor_package_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"company_name\": \"Example Foundation\",\n \"contact_name\": \"Jane Doe\",\n \"contact_email\": \"jane@example.org\",\n \"contact_phone\": \"+12565550123\",\n \"logo_upload_id\": 42\n }\n ],\n \"auction_items\": [\n {\n \"auction_item_id\": 42,\n \"quantity\": 1,\n \"amount\": 25\n }\n ],\n \"promo_code\": \"WELCOME\",\n \"donation_amount\": 25,\n \"fees_covered_amount\": 25,\n \"payment_method\": \"card\",\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"currency\": \"USD\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"conversion_intents\": [\n \"recurring_gift\"\n ],\n \"idempotency_key\": \"registration-request-1\",\n \"create_donor\": true,\n \"purchaser_contact\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\"\n },\n \"buyer\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"auction_bids\": [\n {\n \"auction_bid_id\": 42\n }\n ],\n \"quote_fingerprint\": \"sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"waitlist_offer_token\": \"issued-offer-token\",\n \"cover_fees\": false,\n \"sponsorship_recipient_id\": 42,\n \"buyer_is_attendee\": {\n \"group_client_key\": \"group-1\",\n \"slot_index\": 0\n }\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")
.header("Content-Type", "application/json")
.body("{\n \"purchaser\": {\n \"email\": \"jane@example.org\",\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"tickets\": [\n {\n \"ticket_type_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"sponsor_packages\": [\n {\n \"sponsor_package_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"company_name\": \"Example Foundation\",\n \"contact_name\": \"Jane Doe\",\n \"contact_email\": \"jane@example.org\",\n \"contact_phone\": \"+12565550123\",\n \"logo_upload_id\": 42\n }\n ],\n \"auction_items\": [\n {\n \"auction_item_id\": 42,\n \"quantity\": 1,\n \"amount\": 25\n }\n ],\n \"promo_code\": \"WELCOME\",\n \"donation_amount\": 25,\n \"fees_covered_amount\": 25,\n \"payment_method\": \"card\",\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"currency\": \"USD\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"conversion_intents\": [\n \"recurring_gift\"\n ],\n \"idempotency_key\": \"registration-request-1\",\n \"create_donor\": true,\n \"purchaser_contact\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\"\n },\n \"buyer\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"auction_bids\": [\n {\n \"auction_bid_id\": 42\n }\n ],\n \"quote_fingerprint\": \"sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"waitlist_offer_token\": \"issued-offer-token\",\n \"cover_fees\": false,\n \"sponsorship_recipient_id\": 42,\n \"buyer_is_attendee\": {\n \"group_client_key\": \"group-1\",\n \"slot_index\": 0\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders")
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 \"purchaser\": {\n \"email\": \"jane@example.org\",\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"tickets\": [\n {\n \"ticket_type_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"sponsor_packages\": [\n {\n \"sponsor_package_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"company_name\": \"Example Foundation\",\n \"contact_name\": \"Jane Doe\",\n \"contact_email\": \"jane@example.org\",\n \"contact_phone\": \"+12565550123\",\n \"logo_upload_id\": 42\n }\n ],\n \"auction_items\": [\n {\n \"auction_item_id\": 42,\n \"quantity\": 1,\n \"amount\": 25\n }\n ],\n \"promo_code\": \"WELCOME\",\n \"donation_amount\": 25,\n \"fees_covered_amount\": 25,\n \"payment_method\": \"card\",\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"currency\": \"USD\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"conversion_intents\": [\n \"recurring_gift\"\n ],\n \"idempotency_key\": \"registration-request-1\",\n \"create_donor\": true,\n \"purchaser_contact\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\"\n },\n \"buyer\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"auction_bids\": [\n {\n \"auction_bid_id\": 42\n }\n ],\n \"quote_fingerprint\": \"sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"waitlist_offer_token\": \"issued-offer-token\",\n \"cover_fees\": false,\n \"sponsorship_recipient_id\": 42,\n \"buyer_is_attendee\": {\n \"group_client_key\": \"group-1\",\n \"slot_index\": 0\n }\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",
"payment_handoff": {
"status": "ready",
"gateway": "stripe",
"message": "Example",
"currency": "USD",
"publishable_key": "pk_live_example",
"client_secret": "pi_example_secret_example",
"payment_intent_id": "pi_example",
"stripe_connect_account": "Example",
"payment_order_id": "PAYPAL-ORDER",
"approval_url": "https://www.paypal.com/checkoutnow?token=example",
"return_url": "https://app.gratona.com/events/42/annual-gala/orders/token?gateway=paypal",
"cancel_url": "https://app.gratona.com/events/42/annual-gala/orders/token?payment_cancelled=1",
"payment_availability": {}
}
},
"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"
}{
"message": "We could not complete this registration. Please try again.",
"error_code": "registration_failed"
}Headers
Invitation capability required to reach an invite-only event; invite_token input is an alternative.
"issued-invitation-token"
An active waitlist offer can authorize the invite-only page; waitlist_offer_token input is an alternative.
"issued-offer-token"
Path Parameters
Public organization slug or numeric ID.
"example-foundation"
Event slug within the organization.
"annual-gala"
Body
V2 workspaces require idempotency_key and quote_fingerprint. Supply exactly one stable group for each ticket/package unit. Legacy workspaces use attendees and optional retry key.
Purchaser identity and dynamic donor-form answers. Required public fields follow the form context from the event page; buyer is a compatibility alias.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Active event promo code; validity/redemption limits apply.
80"WELCOME"
Optional donation add-on, suppressed when event settings disable it.
x >= 025
Legacy explicit fee coverage; prohibited for V2 or when submitting a quote fingerprint.
x >= 025
Selected payment method; public checkout verifies payment separately. Check is available only when enabled.
80"card"
Configured processor selection, such as stripe or paypal.
80"stripe"
Payment reference where accepted; public checkout still verifies provider evidence.
255"pi_example"
Compatibility currency hint; the event determines the order currency.
8"USD"
Question answers scoped to this buyer, group or attendee.
100Show child attributes
Show child attributes
Monthly giving/child sponsorship interest, as a list of enabled keys or a map to true; disabled event asks are removed.
Follow-up interest.
recurring_gift, child_sponsorship Retry key; required for public V2 and staff registrations. Reuse the same key for the same cart.
120"registration-request-1"
Whether to create/link a donor when no existing purchaser record is supplied. Staff defaults false; public defaults true.
true
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
V2 requires the fresh quote fingerprint; stale pricing returns 409 with replacement_quote.
96"sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Valid waitlist offer capability for the matching ticket and exact offered quantity.
128"issued-offer-token"
Request server-calculated V2 fee coverage; ignored for check payment.
false
Available public recipient of the event sponsorship program; used with child_sponsorship interest.
42
Show child attributes
Show child attributes
curl --request POST \
--url https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders \
--header 'Content-Type: application/json' \
--data '
{
"purchaser": {
"email": "jane@example.org",
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"organization_name": "Example Foundation",
"phone": "+12565550123",
"type": "INDIVIDUAL",
"donor_type": "INDIVIDUAL"
},
"tickets": [
{
"ticket_type_id": 42,
"quantity": 1,
"groups": [
{
"client_key": "group-1",
"label": "Doe family",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"sponsor_packages": [
{
"sponsor_package_id": 42,
"quantity": 1,
"groups": [
{
"client_key": "group-1",
"label": "Doe family",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"company_name": "Example Foundation",
"contact_name": "Jane Doe",
"contact_email": "jane@example.org",
"contact_phone": "+12565550123",
"logo_upload_id": 42
}
],
"auction_items": [
{
"auction_item_id": 42,
"quantity": 1,
"amount": 25
}
],
"promo_code": "WELCOME",
"donation_amount": 25,
"fees_covered_amount": 25,
"payment_method": "card",
"gateway": "stripe",
"payment_intent_id": "pi_example",
"currency": "USD",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"conversion_intents": [
"recurring_gift"
],
"idempotency_key": "registration-request-1",
"create_donor": true,
"purchaser_contact": {
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123"
},
"buyer": {
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"organization_name": "Example Foundation",
"email": "jane@example.org",
"phone": "+12565550123",
"type": "INDIVIDUAL",
"donor_type": "INDIVIDUAL"
},
"auction_bids": [
{
"auction_bid_id": 42
}
],
"quote_fingerprint": "sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"waitlist_offer_token": "issued-offer-token",
"cover_fees": false,
"sponsorship_recipient_id": 42,
"buyer_is_attendee": {
"group_client_key": "group-1",
"slot_index": 0
}
}
'import requests
url = "https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders"
payload = {
"purchaser": {
"email": "jane@example.org",
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"organization_name": "Example Foundation",
"phone": "+12565550123",
"type": "INDIVIDUAL",
"donor_type": "INDIVIDUAL"
},
"tickets": [
{
"ticket_type_id": 42,
"quantity": 1,
"groups": [
{
"client_key": "group-1",
"label": "Doe family",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"sponsor_packages": [
{
"sponsor_package_id": 42,
"quantity": 1,
"groups": [
{
"client_key": "group-1",
"label": "Doe family",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"attendees": [
{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123",
"event_table_id": 42,
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
]
}
]
}
],
"company_name": "Example Foundation",
"contact_name": "Jane Doe",
"contact_email": "jane@example.org",
"contact_phone": "+12565550123",
"logo_upload_id": 42
}
],
"auction_items": [
{
"auction_item_id": 42,
"quantity": 1,
"amount": 25
}
],
"promo_code": "WELCOME",
"donation_amount": 25,
"fees_covered_amount": 25,
"payment_method": "card",
"gateway": "stripe",
"payment_intent_id": "pi_example",
"currency": "USD",
"answers": [
{
"answer": "Vegetarian",
"question_id": 42,
"field_key": "dietary"
}
],
"conversion_intents": ["recurring_gift"],
"idempotency_key": "registration-request-1",
"create_donor": True,
"purchaser_contact": {
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.org",
"phone": "+12565550123"
},
"buyer": {
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"organization_name": "Example Foundation",
"email": "jane@example.org",
"phone": "+12565550123",
"type": "INDIVIDUAL",
"donor_type": "INDIVIDUAL"
},
"auction_bids": [{ "auction_bid_id": 42 }],
"quote_fingerprint": "sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"waitlist_offer_token": "issued-offer-token",
"cover_fees": False,
"sponsorship_recipient_id": 42,
"buyer_is_attendee": {
"group_client_key": "group-1",
"slot_index": 0
}
}
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({
purchaser: {
email: 'jane@example.org',
name: 'Jane Doe',
first_name: 'Jane',
last_name: 'Doe',
organization_name: 'Example Foundation',
phone: '+12565550123',
type: 'INDIVIDUAL',
donor_type: 'INDIVIDUAL'
},
tickets: [
{
ticket_type_id: 42,
quantity: 1,
groups: [
{
client_key: 'group-1',
label: 'Doe family',
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}],
attendees: [
{
first_name: 'Jane',
last_name: 'Doe',
email: 'jane@example.org',
phone: '+12565550123',
event_table_id: 42,
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}]
}
]
}
],
attendees: [
{
first_name: 'Jane',
last_name: 'Doe',
email: 'jane@example.org',
phone: '+12565550123',
event_table_id: 42,
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}]
}
]
}
],
sponsor_packages: [
{
sponsor_package_id: 42,
quantity: 1,
groups: [
{
client_key: 'group-1',
label: 'Doe family',
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}],
attendees: [
{
first_name: 'Jane',
last_name: 'Doe',
email: 'jane@example.org',
phone: '+12565550123',
event_table_id: 42,
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}]
}
]
}
],
company_name: 'Example Foundation',
contact_name: 'Jane Doe',
contact_email: 'jane@example.org',
contact_phone: '+12565550123',
logo_upload_id: 42
}
],
auction_items: [{auction_item_id: 42, quantity: 1, amount: 25}],
promo_code: 'WELCOME',
donation_amount: 25,
fees_covered_amount: 25,
payment_method: 'card',
gateway: 'stripe',
payment_intent_id: 'pi_example',
currency: 'USD',
answers: [{answer: 'Vegetarian', question_id: 42, field_key: 'dietary'}],
conversion_intents: ['recurring_gift'],
idempotency_key: 'registration-request-1',
create_donor: true,
purchaser_contact: {
name: 'Jane Doe',
first_name: 'Jane',
last_name: 'Doe',
email: 'jane@example.org',
phone: '+12565550123'
},
buyer: {
name: 'Jane Doe',
first_name: 'Jane',
last_name: 'Doe',
organization_name: 'Example Foundation',
email: 'jane@example.org',
phone: '+12565550123',
type: 'INDIVIDUAL',
donor_type: 'INDIVIDUAL'
},
auction_bids: [{auction_bid_id: 42}],
quote_fingerprint: 'sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
waitlist_offer_token: 'issued-offer-token',
cover_fees: false,
sponsorship_recipient_id: 42,
buyer_is_attendee: {group_client_key: 'group-1', slot_index: 0}
})
};
fetch('https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders', 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",
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([
'purchaser' => [
'email' => 'jane@example.org',
'name' => 'Jane Doe',
'first_name' => 'Jane',
'last_name' => 'Doe',
'organization_name' => 'Example Foundation',
'phone' => '+12565550123',
'type' => 'INDIVIDUAL',
'donor_type' => 'INDIVIDUAL'
],
'tickets' => [
[
'ticket_type_id' => 42,
'quantity' => 1,
'groups' => [
[
'client_key' => 'group-1',
'label' => 'Doe family',
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
],
'attendees' => [
[
'first_name' => 'Jane',
'last_name' => 'Doe',
'email' => 'jane@example.org',
'phone' => '+12565550123',
'event_table_id' => 42,
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
]
]
]
]
],
'attendees' => [
[
'first_name' => 'Jane',
'last_name' => 'Doe',
'email' => 'jane@example.org',
'phone' => '+12565550123',
'event_table_id' => 42,
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
]
]
]
]
],
'sponsor_packages' => [
[
'sponsor_package_id' => 42,
'quantity' => 1,
'groups' => [
[
'client_key' => 'group-1',
'label' => 'Doe family',
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
],
'attendees' => [
[
'first_name' => 'Jane',
'last_name' => 'Doe',
'email' => 'jane@example.org',
'phone' => '+12565550123',
'event_table_id' => 42,
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
]
]
]
]
],
'company_name' => 'Example Foundation',
'contact_name' => 'Jane Doe',
'contact_email' => 'jane@example.org',
'contact_phone' => '+12565550123',
'logo_upload_id' => 42
]
],
'auction_items' => [
[
'auction_item_id' => 42,
'quantity' => 1,
'amount' => 25
]
],
'promo_code' => 'WELCOME',
'donation_amount' => 25,
'fees_covered_amount' => 25,
'payment_method' => 'card',
'gateway' => 'stripe',
'payment_intent_id' => 'pi_example',
'currency' => 'USD',
'answers' => [
[
'answer' => 'Vegetarian',
'question_id' => 42,
'field_key' => 'dietary'
]
],
'conversion_intents' => [
'recurring_gift'
],
'idempotency_key' => 'registration-request-1',
'create_donor' => true,
'purchaser_contact' => [
'name' => 'Jane Doe',
'first_name' => 'Jane',
'last_name' => 'Doe',
'email' => 'jane@example.org',
'phone' => '+12565550123'
],
'buyer' => [
'name' => 'Jane Doe',
'first_name' => 'Jane',
'last_name' => 'Doe',
'organization_name' => 'Example Foundation',
'email' => 'jane@example.org',
'phone' => '+12565550123',
'type' => 'INDIVIDUAL',
'donor_type' => 'INDIVIDUAL'
],
'auction_bids' => [
[
'auction_bid_id' => 42
]
],
'quote_fingerprint' => 'sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
'waitlist_offer_token' => 'issued-offer-token',
'cover_fees' => false,
'sponsorship_recipient_id' => 42,
'buyer_is_attendee' => [
'group_client_key' => 'group-1',
'slot_index' => 0
]
]),
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"
payload := strings.NewReader("{\n \"purchaser\": {\n \"email\": \"jane@example.org\",\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"tickets\": [\n {\n \"ticket_type_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"sponsor_packages\": [\n {\n \"sponsor_package_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"company_name\": \"Example Foundation\",\n \"contact_name\": \"Jane Doe\",\n \"contact_email\": \"jane@example.org\",\n \"contact_phone\": \"+12565550123\",\n \"logo_upload_id\": 42\n }\n ],\n \"auction_items\": [\n {\n \"auction_item_id\": 42,\n \"quantity\": 1,\n \"amount\": 25\n }\n ],\n \"promo_code\": \"WELCOME\",\n \"donation_amount\": 25,\n \"fees_covered_amount\": 25,\n \"payment_method\": \"card\",\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"currency\": \"USD\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"conversion_intents\": [\n \"recurring_gift\"\n ],\n \"idempotency_key\": \"registration-request-1\",\n \"create_donor\": true,\n \"purchaser_contact\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\"\n },\n \"buyer\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"auction_bids\": [\n {\n \"auction_bid_id\": 42\n }\n ],\n \"quote_fingerprint\": \"sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"waitlist_offer_token\": \"issued-offer-token\",\n \"cover_fees\": false,\n \"sponsorship_recipient_id\": 42,\n \"buyer_is_attendee\": {\n \"group_client_key\": \"group-1\",\n \"slot_index\": 0\n }\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")
.header("Content-Type", "application/json")
.body("{\n \"purchaser\": {\n \"email\": \"jane@example.org\",\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"tickets\": [\n {\n \"ticket_type_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"sponsor_packages\": [\n {\n \"sponsor_package_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"company_name\": \"Example Foundation\",\n \"contact_name\": \"Jane Doe\",\n \"contact_email\": \"jane@example.org\",\n \"contact_phone\": \"+12565550123\",\n \"logo_upload_id\": 42\n }\n ],\n \"auction_items\": [\n {\n \"auction_item_id\": 42,\n \"quantity\": 1,\n \"amount\": 25\n }\n ],\n \"promo_code\": \"WELCOME\",\n \"donation_amount\": 25,\n \"fees_covered_amount\": 25,\n \"payment_method\": \"card\",\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"currency\": \"USD\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"conversion_intents\": [\n \"recurring_gift\"\n ],\n \"idempotency_key\": \"registration-request-1\",\n \"create_donor\": true,\n \"purchaser_contact\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\"\n },\n \"buyer\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"auction_bids\": [\n {\n \"auction_bid_id\": 42\n }\n ],\n \"quote_fingerprint\": \"sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"waitlist_offer_token\": \"issued-offer-token\",\n \"cover_fees\": false,\n \"sponsorship_recipient_id\": 42,\n \"buyer_is_attendee\": {\n \"group_client_key\": \"group-1\",\n \"slot_index\": 0\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/frontend/public/events/{clientSlugOrId}/{eventSlug}/orders")
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 \"purchaser\": {\n \"email\": \"jane@example.org\",\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"tickets\": [\n {\n \"ticket_type_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"sponsor_packages\": [\n {\n \"sponsor_package_id\": 42,\n \"quantity\": 1,\n \"groups\": [\n {\n \"client_key\": \"group-1\",\n \"label\": \"Doe family\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"attendees\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"event_table_id\": 42,\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ]\n }\n ]\n }\n ],\n \"company_name\": \"Example Foundation\",\n \"contact_name\": \"Jane Doe\",\n \"contact_email\": \"jane@example.org\",\n \"contact_phone\": \"+12565550123\",\n \"logo_upload_id\": 42\n }\n ],\n \"auction_items\": [\n {\n \"auction_item_id\": 42,\n \"quantity\": 1,\n \"amount\": 25\n }\n ],\n \"promo_code\": \"WELCOME\",\n \"donation_amount\": 25,\n \"fees_covered_amount\": 25,\n \"payment_method\": \"card\",\n \"gateway\": \"stripe\",\n \"payment_intent_id\": \"pi_example\",\n \"currency\": \"USD\",\n \"answers\": [\n {\n \"answer\": \"Vegetarian\",\n \"question_id\": 42,\n \"field_key\": \"dietary\"\n }\n ],\n \"conversion_intents\": [\n \"recurring_gift\"\n ],\n \"idempotency_key\": \"registration-request-1\",\n \"create_donor\": true,\n \"purchaser_contact\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\"\n },\n \"buyer\": {\n \"name\": \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"organization_name\": \"Example Foundation\",\n \"email\": \"jane@example.org\",\n \"phone\": \"+12565550123\",\n \"type\": \"INDIVIDUAL\",\n \"donor_type\": \"INDIVIDUAL\"\n },\n \"auction_bids\": [\n {\n \"auction_bid_id\": 42\n }\n ],\n \"quote_fingerprint\": \"sha256:1792497900:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"waitlist_offer_token\": \"issued-offer-token\",\n \"cover_fees\": false,\n \"sponsorship_recipient_id\": 42,\n \"buyer_is_attendee\": {\n \"group_client_key\": \"group-1\",\n \"slot_index\": 0\n }\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",
"payment_handoff": {
"status": "ready",
"gateway": "stripe",
"message": "Example",
"currency": "USD",
"publishable_key": "pk_live_example",
"client_secret": "pi_example_secret_example",
"payment_intent_id": "pi_example",
"stripe_connect_account": "Example",
"payment_order_id": "PAYPAL-ORDER",
"approval_url": "https://www.paypal.com/checkoutnow?token=example",
"return_url": "https://app.gratona.com/events/42/annual-gala/orders/token?gateway=paypal",
"cancel_url": "https://app.gratona.com/events/42/annual-gala/orders/token?payment_cancelled=1",
"payment_availability": {}
}
},
"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"
}{
"message": "We could not complete this registration. Please try again.",
"error_code": "registration_failed"
}