Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developers.momogood.com/llms.txt

Use this file to discover all available pages before exploring further.

Reference for every record type returned by the Events & Auctions API. Where the Custom Data Export and connector variants differ, the Custom Data Export variant is the superset — connector variants omit some fields (see Payload customization examples for the full comparison). Quick links:

Event (Custom Data Export variant)

Returned by GET /<your-namespace>/v1/events.
FieldTypeDescription
idUUIDEvent id.
namestringEvent display name.
statusenum stringOne of Status. All listed events are "active".
inAidOfstring | nullBeneficiary description.
startTimelong (epoch s)Event start.
endTimelong (epoch s)Event end.
eventDatelong (epoch s)Headline event date used for sorting/display.
timezonestringIANA timezone id (e.g. Europe/London, America/New_York).
currencystringISO 4217 currency code (GBP, USD, CAD, AUD, HKD).
createdlong (epoch s)When the event was created.
updatedlong (epoch s)When the event was last updated.
projectTypestringEMS project type code (e.g. auction, mixed). Custom Data Export only.
externalIdstring | nullClient-supplied external reference. Custom Data Export only.
The Salesforce/Blackbaud Event variant (not returned by any documented endpoint today, but useful background) would omit projectType and externalId.

ItemsBundle

{
  "buyNows":      [ BuyNowItem, ... ],
  "auctionItems": [ AuctionItem, ... ],
  "pledges":      [ Pledge, ... ],
  "prizeDraws":   [ Raffle, ... ],
  "gliRaffles":   [ GliRaffle, ... ],
  "tickets":      [ Ticket, ... ]
}
prizeDraws holds standard Raffle records; gliRaffles is a separate list because GLI-regulated raffles have distinct compliance handling. The wrapper shape is identical across all three families; the difference is in the per-record fields (see Payload customization examples).

BuyNowItem

FieldTypeDescription
idUUIDItem id.
eventIdUUIDParent event.
numberstringDisplay / catalogue number.
titlestringItem name.
pricelongUnit price (minor units).
availableintInventory remaining.
boughtintQuantity sold to date.
requirePaymentbooleanWhether checkout enforces payment.
createdlong (epoch s)Creation timestamp.
updatedlong (epoch s)Last-update timestamp.
revenueStreamTypestringEMS revenue stream code. (Custom Data Export only)
externalIdstring | nullClient reference. (Custom Data Export only)
categoriesstring[]Category tags. (Custom Data Export only)
irsSubcategorystring[]IRS reporting subcategories. (Custom Data Export only)
startPricelongSuggested / starting price (minor units). (Custom Data Export only)
incrementsBidIncrement[]Pricing tiers, where applicable. (Custom Data Export only)
descriptionstring | nullLong description. (Custom Data Export only)
termsDescriptionstring | nullT&Cs text. (Custom Data Export only)
taxRatedouble | nullTax rate as decimal (0.2 = 20%). (Custom Data Export only)
estimatelong | nullEstimated value (minor units). (Custom Data Export only)
The Salesforce/Blackbaud BuyNowItem variants include only the first 10 fields (down to updated).

AuctionItem

FieldTypeDescription
idUUIDLot id.
eventIdUUIDParent event.
numberstringLot number.
titlestringLot title.
currentAmountlongCurrent top bid (minor units).
topBidderstring | nullTop bidder name. Null when anonymous.
topBidAnonymousbooleanWhether the top bid is anonymous.
createdlong (epoch s)Creation timestamp.
updatedlong (epoch s)Last-update timestamp.
revenueStreamTypestringEMS revenue stream code. (Custom Data Export only)
externalIdstring | nullClient reference. (Custom Data Export only)
categoriesstring[]Category tags. (Custom Data Export only)
irsSubcategorystring[]IRS reporting subcategories. (Custom Data Export only)
startPricelongOpening bid (minor units). (Custom Data Export only)
incrementsBidIncrement[]Bid increment tiers. (Custom Data Export only)
typestringAuction type code (e.g. STANDARD). (Custom Data Export only)
descriptionstring | nullDescription text. (Custom Data Export only)
termsDescriptionstring | nullT&Cs text. (Custom Data Export only)
estimatelong | nullEstimated value (minor units). (Custom Data Export only)

Pledge

Identical across all three families.
FieldTypeDescription
idUUIDPledge id.
eventIdUUIDParent event.
numberstringDisplay number.
titlestringPledge title.
minimumlongMinimum donation (minor units).
fixedbooleantrue = fixed donation amount; false = open amount.
createdlong (epoch s)Creation timestamp.
updatedlong (epoch s)Last-update timestamp.

Raffle

FieldTypeDescription
idstring (UUID format)Raffle id.
eventIdUUIDParent event.
numberstringDisplay number.
titlestringRaffle title.
pricelongTicket price (minor units).
availableintTickets remaining.
boughtintTickets sold.
requirePaymentbooleanWhether checkout enforces payment.
createdlong (epoch s)Creation timestamp.
updatedlong (epoch s)Last-update timestamp.
revenueStreamTypestringEMS revenue stream code. (Custom Data Export only)
Connector variants omit revenueStreamType only.

GliRaffle

All fields from Raffle, plus externalId (string | null, Custom Data Export only). GLI-regulated raffles (Gaming Laboratories International) are reported separately for compliance. Connector variants omit revenueStreamType and externalId.

Ticket

FieldTypeDescription
idUUIDTicket type id.
eventIdUUIDParent event.
titlestringTicket name.
pricelongTicket price (minor units).
maxPerPurchaseintPer-order cap.
availableintTickets remaining.
boughtintTickets sold.
createdlong (epoch s)Creation timestamp.
updatedlong (epoch s)Last-update timestamp.
revenueStreamTypestringEMS revenue stream code. (Custom Data Export only)
externalIdstring | nullClient reference. (Custom Data Export only)

BidIncrement

A single tier of a bid-increment ladder.
FieldTypeDescription
thresholdlong (≥0)Lower bound (minor units) at which this increment applies. 0 means the increment applies from the opening bid.
amountlong (≥1)The minimum bid step (minor units) when the current price is at or above threshold.
Some earlier Givergy reference material used from / increment for these field names. The actual JSON field names are threshold and amount. Trust this document over older examples.

Example ItemsBundle (Custom Data Export) response

{
  "buyNows": [
    {
      "id": "b1a2c3d4-0001-4000-8000-000000000001",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "number": "BN-001",
      "title": "Signed Football",
      "price": 5000,
      "available": 8,
      "bought": 2,
      "requirePayment": true,
      "created": 1709200000,
      "updated": 1714100000,
      "revenueStreamType": "merchandise",
      "externalId": "EXT-BN-001",
      "categories": ["sports", "memorabilia"],
      "irsSubcategory": ["sports_collectibles"],
      "startPrice": 5000,
      "increments": [],
      "description": "Football signed by the 2025 squad.",
      "termsDescription": "No refunds.",
      "taxRate": 0.2,
      "estimate": 7500
    }
  ],
  "auctionItems": [
    {
      "id": "a1a2c3d4-0001-4000-8000-000000000001",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "number": "L-001",
      "title": "Weekend Stay in Paris",
      "currentAmount": 120000,
      "topBidder": "Jane Doe",
      "topBidAnonymous": false,
      "created": 1709200000,
      "updated": 1714200000,
      "revenueStreamType": "auction",
      "externalId": "EXT-L-001",
      "categories": ["travel"],
      "irsSubcategory": ["travel_packages"],
      "startPrice": 50000,
      "increments": [
        { "threshold": 0,      "amount": 5000 },
        { "threshold": 100000, "amount": 10000 }
      ],
      "type": "STANDARD",
      "description": "Two nights at a 4-star hotel in central Paris.",
      "termsDescription": "Subject to availability.",
      "estimate": 150000
    }
  ],
  "pledges": [
    {
      "id": "p1a2c3d4-0001-4000-8000-000000000001",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "number": "PL-001",
      "title": "Sponsor a Meal",
      "minimum": 1000,
      "fixed": false,
      "created": 1709200000,
      "updated": 1709200000
    }
  ],
  "prizeDraws": [
    {
      "id": "r1a2c3d4-0001-4000-8000-000000000001",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "number": "PD-001",
      "title": "Win a Tesla",
      "price": 2500,
      "available": 500,
      "bought": 124,
      "requirePayment": true,
      "created": 1709200000,
      "updated": 1714050000,
      "revenueStreamType": "raffle"
    }
  ],
  "gliRaffles": [
    {
      "id": "g1a2c3d4-0001-4000-8000-000000000001",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "number": "GLI-001",
      "title": "50/50 Draw",
      "price": 2000,
      "available": 1000,
      "bought": 312,
      "requirePayment": true,
      "created": 1709200000,
      "updated": 1714100000,
      "revenueStreamType": "gli_raffle",
      "externalId": "EXT-GLI-001"
    }
  ],
  "tickets": [
    {
      "id": "t1a2c3d4-0001-4000-8000-000000000001",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "title": "Standard Entry",
      "price": 7500,
      "maxPerPurchase": 10,
      "available": 200,
      "bought": 47,
      "created": 1709200000,
      "updated": 1714000000,
      "revenueStreamType": "ticket",
      "externalId": "EXT-T-STD"
    }
  ]
}

PurchasesBundle

{
  "buyNowPurchases":    [ BuyNowPurchase, ... ],
  "winningBids":        [ AuctionBid, ... ],
  "donations":          [ Donation, ... ],
  "rafflePurchases":    [ RafflePurchase, ... ],
  "gliRafflePurchases": [ GliRafflePurchase, ... ],
  "ticketPurchases":    [ TicketPurchase, ... ]
}
All purchase records share a common set of fields. Each subtype adds a small number of type-specific fields.

Common purchase fields

FieldTypeDescription
idUUIDPurchase id.
eventIdUUIDParent event.
guestIdUUIDGuest who made the purchase.
guestNamestringGuest display name. Empty string when anonymous.
anonymousbooleanWhether the guest chose to remain anonymous.
amountlongGross amount (minor units).
countintQuantity. Not present on AuctionBid (a winning bid is always 1).
totalFeesAmountlongTotal fees retained from amount.
totalFeesPassedOnAmountlongFees added on top, paid by the guest.
paymentProcessorIdstring | nullProcessor’s transaction reference (e.g. Stripe payment intent id).
createdlong (epoch s)Creation timestamp.
updatedlong (epoch s)Last-update timestamp.
The following three fields are present only on the Custom Data Export variants. They are absent from every purchase record returned by the Salesforce and Blackbaud connector endpoints.
FieldTypeDescription
projectSegmentstring | nullReporting segment (free-form). (Custom Data Export only)
processorTypeenumOne of ProcessorType. (Custom Data Export only)
paymentStatusenumOne of PaymentStatus. (Custom Data Export only)

Type-specific fields

TypeWrapper keyExtra fields
BuyNowPurchasebuyNowPurchasesbuyNowItemId, buyNowItemTitle, supplyPrice
AuctionBidwinningBidsauctionItemId, auctionItemTitle, calculatedAmount, supplyPrice (no count field)
RafflePurchaserafflePurchasesraffleId, raffleTitle, winningCount
GliRafflePurchasegliRafflePurchasesraffleId, raffleTitle, winningCount
TicketPurchaseticketPurchasesticketId, ticketTitle, ticketPurchaseRef, bookingFeeAmount, bookingFeePassedOnAmount
DonationdonationspledgeId, pledgeTitle, giftAidStatus

BuyNowPurchase

Common purchase fields plus:
FieldTypeDescription
buyNowItemIdUUIDReference to the BuyNowItem.
buyNowItemTitlestringItem title.
supplyPricelongCost of supply (minor units).

AuctionBid

Common purchase fields plus:
FieldTypeDescription
auctionItemIdUUIDReference to the AuctionItem.
auctionItemTitlestringLot title.
calculatedAmountlongCalculated final amount (minor units).
supplyPricelongCost of supply (minor units).
No count field — a winning bid is always 1.

RafflePurchase

Common purchase fields plus:
FieldTypeDescription
raffleIdUUIDReference to the Raffle.
raffleTitlestringRaffle title.
winningCountintNumber of winning tickets in this purchase.

GliRafflePurchase

Same fields as RafflePurchase, returned under the gliRafflePurchases key. GLI raffles are reported separately for compliance.

TicketPurchase

Common purchase fields plus:
FieldTypeDescription
ticketIdUUIDReference to the Ticket.
ticketTitlestringTicket name.
ticketPurchaseRefstringHuman-readable booking reference (e.g. TKT-2026-00047).
bookingFeeAmountlongBooking fee retained (minor units).
bookingFeePassedOnAmountlongBooking fee added on top, paid by the guest (minor units).

Donation

Common purchase fields plus:
FieldTypeDescription
pledgeIdUUIDReference to the Pledge.
pledgeTitlestringPledge title.
giftAidStatusenum stringOne of giftAidStatus: not_asked, yes, no.

Example PurchasesBundle (Custom Data Export) response

{
  "buyNowPurchases": [
    {
      "id": "c0000001-0000-4000-8000-000000000001",
      "buyNowItemId": "b1a2c3d4-0001-4000-8000-000000000001",
      "buyNowItemTitle": "Signed Football",
      "anonymous": false,
      "guestId": "f0000001-0000-4000-8000-000000000001",
      "guestName": "Alice Smith",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "amount": 5000,
      "count": 1,
      "totalFeesAmount": 150,
      "totalFeesPassedOnAmount": 0,
      "paymentProcessorId": "pi_3OabcDEFghi",
      "supplyPrice": 2000,
      "created": 1713900000,
      "updated": 1713900000,
      "projectSegment": "main",
      "processorType": "stripe",
      "paymentStatus": "paid"
    }
  ],
  "winningBids": [
    {
      "id": "c0000002-0000-4000-8000-000000000002",
      "auctionItemId": "a1a2c3d4-0001-4000-8000-000000000001",
      "auctionItemTitle": "Weekend Stay in Paris",
      "anonymous": false,
      "guestId": "f0000002-0000-4000-8000-000000000002",
      "guestName": "Bob Jones",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "amount": 120000,
      "calculatedAmount": 120000,
      "totalFeesAmount": 3600,
      "totalFeesPassedOnAmount": 0,
      "paymentProcessorId": "pi_3OxyzABCdef",
      "supplyPrice": 60000,
      "created": 1714200000,
      "updated": 1714200000,
      "projectSegment": "main",
      "processorType": "stripe",
      "paymentStatus": "paid"
    }
  ],
  "donations": [
    {
      "id": "c0000004-0000-4000-8000-000000000004",
      "pledgeId": "p1a2c3d4-0001-4000-8000-000000000001",
      "pledgeTitle": "Sponsor a Meal",
      "anonymous": false,
      "guestId": "f0000004-0000-4000-8000-000000000004",
      "guestName": "Carol White",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "amount": 2500,
      "count": 1,
      "totalFeesAmount": 75,
      "totalFeesPassedOnAmount": 0,
      "paymentProcessorId": "pi_3OdonLMNopq",
      "giftAidStatus": "yes",
      "created": 1714100000,
      "updated": 1714100000,
      "projectSegment": "main",
      "processorType": "stripe",
      "paymentStatus": "paid"
    }
  ],
  "rafflePurchases": [
    {
      "id": "c0000003-0000-4000-8000-000000000003",
      "raffleId": "r1a2c3d4-0001-4000-8000-000000000001",
      "raffleTitle": "Win a Tesla",
      "winningCount": 0,
      "anonymous": true,
      "guestId": "f0000003-0000-4000-8000-000000000003",
      "guestName": "",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "amount": 5000,
      "count": 2,
      "totalFeesAmount": 0,
      "totalFeesPassedOnAmount": 150,
      "paymentProcessorId": "pi_3OrafFGHijk",
      "created": 1714050000,
      "updated": 1714050000,
      "projectSegment": "main",
      "processorType": "stripe",
      "paymentStatus": "paid"
    }
  ],
  "gliRafflePurchases": [
    {
      "id": "c0000006-0000-4000-8000-000000000006",
      "raffleId": "g1a2c3d4-0001-4000-8000-000000000001",
      "raffleTitle": "50/50 Draw",
      "winningCount": 0,
      "anonymous": false,
      "guestId": "f0000006-0000-4000-8000-000000000006",
      "guestName": "Eve Green",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "amount": 4000,
      "count": 2,
      "totalFeesAmount": 0,
      "totalFeesPassedOnAmount": 120,
      "paymentProcessorId": "pi_3OgliWXYzab",
      "created": 1714100000,
      "updated": 1714100000,
      "projectSegment": "main",
      "processorType": "stripe",
      "paymentStatus": "paid"
    }
  ],
  "ticketPurchases": [
    {
      "id": "c0000005-0000-4000-8000-000000000005",
      "ticketId": "t1a2c3d4-0001-4000-8000-000000000001",
      "ticketTitle": "Standard Entry",
      "ticketPurchaseRef": "TKT-2026-00047",
      "guestId": "f0000005-0000-4000-8000-000000000005",
      "guestName": "David Black",
      "eventId": "8f3c2a1d-9b4e-4c7a-a1d2-6e5f4c3b2a10",
      "amount": 15000,
      "count": 2,
      "bookingFeeAmount": 0,
      "bookingFeePassedOnAmount": 450,
      "totalFeesAmount": 450,
      "totalFeesPassedOnAmount": 450,
      "paymentProcessorId": "pi_3OtktRSTuvw",
      "created": 1713800000,
      "updated": 1713800000,
      "projectSegment": "main",
      "processorType": "stripe",
      "paymentStatus": "paid"
    }
  ]
}
A Salesforce or Blackbaud /purchases response would be the same shape, but every record would have projectSegment, processorType, and paymentStatus removed.

Guest (Custom Data Export variant)

Returned by the Custom Data Export /guests endpoint.
FieldTypeDescription
idUUIDGuest (contact) id.
eventIdUUIDParent event.
firstNamestring | nullFirst name.
lastNamestring | nullLast name.
emailstring | nullEmail address.
mobilestring | nullMobile phone. May be E.164 or local format depending on how it was captured.
mainAddressAddressDetail | nullPrimary postal address.
giftAidAddressAddressDetail | nullGift Aid declaration address (UK).
taxReceiptAidAddressAddressDetail | nullTax-receipt address (US).
createdlong (epoch s)Creation timestamp.
updatedlong (epoch s)Last-update timestamp.
consentAskedbooleanWhether the guest has been prompted for consent.
consentStatusenum stringOne of Status; typically "active" or "inactive" for consent records.
consentChannelsstringComma-separated channels the guest has opted in to (e.g. email,sms,post). Empty string when none.
externalIdstring | nullClient reference. (Custom Data Export only)
smsOptInbooleanSMS opt-in flag. (Custom Data Export only)
companyNamestring | nullCompany / organisation name. (Custom Data Export only)

Guest connector variants (Salesforce and Blackbaud)

SalesforceGuest (returned by /salesforce/v1/.../guests) and BlackbaudGuest (returned by /blackbaud/v1/.../guests) are identical to each other and contain every field from the Custom Data Export Guest except externalId, smsOptIn, and companyName. If you need any of those three fields, you must use the Custom Data Export /guests endpoint.

AddressDetail

FieldTypeDescription
namestring | nullLabel (e.g. Home, Billing).
line1string | nullFirst address line.
line2string | nullSecond address line.
line3string | nullThird address line.
line4string | nullFourth address line.
townstring | nullTown / city.
postcodestring | nullPostal / ZIP code.
statestring | nullState / province / region.
countrystring | nullISO 3166-1 alpha-2 country code (e.g. GB, US, CA, AU, HK).
recipient_namestring | nullRecipient name.
Note the snake_case spelling: the field is recipient_name, not recipientName. This is the only snake_case field across these schemas.

Enums

All enum values are serialized in lowercase in JSON. See Conventions → Enum casing.

Status enum

Returned for Event.status and Guest.consentStatus. Values: error, archived, active, inactive, not_archived, obfuscated, pending In practice list endpoints only ever return records with status: "active" because of the implicit active-only filter.

PaymentStatus enum

Returned on Custom Data Export purchase records only.
ValueMeaning
unknownStatus not yet determined.
paidPayment captured in full.
unpaidAwaiting payment.
part_paidPartial payment received.
retractedPayment retracted.
overpaidPayment exceeds the amount due.
processor_pendingProcessor is still processing the payment.
processor_declinedProcessor declined the payment.
user_canceledGuest cancelled before payment.
splitAmount split across multiple records / processors.
pay_laterPayment deferred (will settle later).
For most reporting use cases, treat paid, part_paid, overpaid, and split as “money received.”

ProcessorType enum

Returned on Custom Data Export purchase records only. none, paypal, paypal_here, cheque_client, cheque_ibid, cash_client, cash_ibid, bank_transfer_client, bank_transfer_ibid, braintree, braintree_amex, braintree_vt, braintree_vt_amex, stripe, daf_pay, stripe_amex, stripe_vt, stripe_vt_amex, pdq, pdq_amex, eftpos, amex, zero_amount_charge, free Conventions:
  • The _vt suffix indicates a virtual terminal (typed-in card).
  • _client variants indicate funds collected directly by the client.
  • _ibid variants indicate funds collected by Givergy on the client’s behalf.

giftAidStatus (YesNoAnswer)

Donation.giftAidStatus is a tri-state string answering “has the guest agreed to Gift Aid this donation?”
ValueMeaning
not_askedThe guest has not been asked, or Gift Aid is not applicable.
yesGuest has agreed and a Gift Aid declaration is on file.
noGuest has declined Gift Aid.
Earlier Givergy reference material listed values like CLAIMED, PENDING, NOT_REQUESTED. Those are incorrect — the wire values are the three above.
Gift Aid is a UK-only HMRC mechanism, so this field is most meaningful for UK events.