Create an event registrant with multiple registrations

There’s an event with two registration options:

  • Family
  • Individual

For example, I want to create a registrant who has 2 Individual and 1 Family registrations. Based on the Altru docs, it looks like this data needs to be passed in several places in the API payload.

I’ve spent hours trying different combinations, but I still haven’t been able to create a registrant through the API that displays the registrations correctly on the Altru dashboard (the way they show when created via UI, with their registration types listed properly).

Here is one of the request payloads that I have tried:

{
    "event_id": "27302823-006C-46FF-8A98-FEAFAE472D8E",
    "constituent_id": "a157df00-afdc-41e9-a24d-c78e1b81f5df",
    "date_purchased": "2025-08-25T06:33:35Z",
    "waive_benefits": false,
    "registrations": [{
        "id": "e984894b-641e-45a8-bffa-7df5a9036bc7",
        "event_price": "E5E89469-628B-49F7-BF28-FED90820D28A",
        "quantity": 2,
        "amount": 30.0,
        "receipt_amount": 30.0,
        "registration_count": 2
    },
    {
        "id": "e984894b-641e-45a8-bffa-7df5a9036bc8",
        "event_price": "8DB1C2F9-6896-43EE-86B3-B7A094FAA7E0",
        "quantity": 1,
        "amount": 50.0,
        "receipt_amount": 30.0,
        "registration_count": 1
    }],
    "registrant_mappings": [{
        "id": "e984894b-641e-45a8-bffa-7df5a9036bc7",
        "name": "Individual",
        "constituent_id": "a157df00-afdc-41e9-a24d-c78e1b81f5df"
    },
    {
        "id": "e984894b-641e-45a8-bffa-7df5a9036bc7",
        "name": "Individual"
    },
    {
        "id": "e984894b-641e-45a8-bffa-7df5a9036bc8",
        "name": "Family"
    }]
}

What I was trying to do was link the first registration to the primary constituent and assign the remaining ones to the guests.

But as you can see in the result:

  • Two guest registrations were created, plus three extra registrations that shouldn’t be there.
  • For the guest registrations, the “Family” option was picked up incorrectly instead of the intended type.
  • Another odd issue is that all of the extra registrations have the “Benefits waived” badge, which shouldn’t be the case.
Screenshot 2025-09-04 at 1.29.26 PM.png

What it looks like when we create the same registrations from Altru UI. Also, this is my desired outcome:

Screenshot 2025-09-05 at 10.44.08 AM.png

I’ve already tried multiple payload structures and combinations, and even consulted AI tools for suggestions. So at this point, I’d really appreciate no more guesswork.

If you’ve actually used the API before or have hands-on expertise with it, could you please advise what I’m doing wrong? Thanks!

API endpoint: https://developer.sky.blackbaud.com/api#api=alt-evtmg&operation=CreateEventRegistrant

Tagged: