Events

Events are the core model in Gatsby. They describe details such as name, time, location, and more. On this page, we'll dive into the different event endpoints you can use to manage events programmatically.

The event model

The event model contains all the information about your events, including details like name, date, location, and virtual options.

Properties

  • Name
    eventId
    Type
    string
    Description

    Unique identifier for the event.

  • Name
    name
    Type
    string
    Description

    The name of the event.

  • Name
    primarySlug
    Type
    string
    Description

    The URL slug for the event.

  • Name
    primaryDate
    Type
    string
    Description

    The date and time when the event is scheduled to occur.

  • Name
    timezone
    Type
    string
    Description

    The timezone the event is scheduled in.

  • Name
    userRole
    Type
    string
    Description

    The role of the authenticated user for this event.

  • Name
    isPublic
    Type
    boolean
    Description

    Whether the event is public or private.

  • Name
    locationName
    Type
    string
    Description

    The name of the event location.

  • Name
    locationAddress
    Type
    string
    Description

    The address of the event location.

  • Name
    locationPhoneNumber
    Type
    string
    Description

    The phone number of the event location.

  • Name
    locationWebsite
    Type
    string
    Description

    The website of the event location.

  • Name
    virtualLocations
    Type
    array
    Description

    An array of virtual location objects for online events.

  • Name
    eventTags
    Type
    array
    Description

    An array of tags associated with the event.

  • Name
    images
    Type
    array
    Description

    An array of image objects associated with the event.

  • Name
    rsvpDescription
    Type
    string
    Description

    Description text for the event RSVP process.


GET/event

List all events

This endpoint allows you to retrieve a paginated list of all your active events. By default, past events are excluded.

Optional attributes

  • Name
    limit
    Type
    integer
    Description

    Limit the number of events returned.

  • Name
    skip
    Type
    integer
    Description

    Number of events to skip for pagination.

  • Name
    includePastEvents
    Type
    boolean
    Description

    Include past events when set to true.

  • Name
    showOrganizationEvents
    Type
    boolean
    Description

    Show all events within the organization when set to true.

Request

GET
/event
curl -G https://rest.gatsby.events/event \
  -H "Authorization: Bearer {token}" \
  -H "organizationSlug: {organizationSlug}" \
  -d limit=10

Response

{
  "events": [
    {
      "eventId": "e8dj2ns9-34kd-9j3b",
      "name": "Annual Conference 2023",
      "primarySlug": "annual-conference-2023",
      "primaryDate": "2023-11-15T09:00:00Z",
      "timezone": "America/Los_Angeles",
      "userRole": "admin",
      "isPublic": true,
      "locationName": "Convention Center",
      "locationAddress": "123 Main St, San Francisco, CA",
      "locationPhoneNumber": "+14155551234",
      "locationWebsite": "https://convention.example.com",
      "virtualLocations": [
        {
          "url": "https://zoom.us/j/1234567890",
          "password": "conference",
          "phoneNumber": "+14155551234",
          "sourceType": "zoom"
        }
      ],
      "eventTags": ["conference", "annual", "technology"],
      "images": [
        {
          "type": "banner",
          "url": "https://assets.gatsby.events/events/banner.jpg"
        },
        {
          "type": "logo",
          "url": "https://assets.gatsby.events/events/logo.jpg"
        }
      ],
      "rsvpDescription": "Please RSVP by November 1st"
    },
    {
      "eventId": "f92jd8s7-56hj-7k4l"
      // ...
    }
  ]
}

GET/event/:id/guestlist

Retrieve event guest list

This endpoint allows you to retrieve the guest list for a specific event by providing the event ID.

Request

GET
/event/e8dj2ns9-34kd-9j3b/guestlist
curl https://rest.gatsby.events/event/e8dj2ns9-34kd-9j3b/guestlist \
  -H "Authorization: Bearer {token}" \
  -H "organizationSlug: {organizationSlug}"

Response

{
  "guests": [
    {
      "personId": "52907745-7672-470e-a",
      "firstName": "John",
      "lastName": "Doe",
      "email": "[email protected]",
      "rsvpStatus": "Accepted",
      "rsvpStatusHistory": [
        {
          "status": "Invited",
          "actorId": "admin-user-1",
          "actorType": "user",
          "createdAt": "2023-10-01T14:30:00Z"
        },
        {
          "status": "Accepted",
          "actorId": "52907745-7672-470e-a",
          "actorType": "eventPerson",
          "createdAt": "2023-10-05T10:15:00Z"
        }
      ],
      "dietaryRestrictions": ["Vegetarian"],
      "attendanceStatus": "Attended",
      "rsvpQuestionResponses": [
        {
          "title": "T-Shirt Size",
          "description": "Please select your t-shirt size",
          "answers": ["Medium"]
        }
      ],
      "rsvpNote": "Arriving late",
      "customColumns": {
        "table": "A4",
        "badge": "VIP"
      }
    },
    {
      "personId": "8293b8f2-3019-42a8-b"
      // ...
    }
  ]
}

POST/event/:id/guestlist

Add guests to an event

This endpoint allows you to add guests to a specific event. You can add existing persons by their personId or create new persons in the process.

Required attributes

  • Name
    guests
    Type
    array
    Description

    An array of guest objects to add to the event.

Guest object properties

  • Name
    personId
    Type
    string
    Description

    The unique identifier for an existing person to add as a guest.

  • Name
    firstName
    Type
    string
    Description

    First name for creating a new person.

  • Name
    lastName
    Type
    string
    Description

    Last name for creating a new person.

  • Name
    email
    Type
    string
    Description

    Email for creating a new person.

  • Name
    phoneNumber
    Type
    string
    Description

    Phone number for creating a new person.

  • Name
    company
    Type
    string
    Description

    Company for creating a new person.

  • Name
    position
    Type
    string
    Description

    Position for creating a new person.

  • Name
    notes
    Type
    string
    Description

    Notes for the guest.

Request

POST
/event/e8dj2ns9-34kd-9j3b/guestlist
curl https://rest.gatsby.events/event/e8dj2ns9-34kd-9j3b/guestlist \
  -H "Authorization: Bearer {token}" \
  -H "organizationSlug: {organizationSlug}" \
  -d '{
    "guests": [
      {
        "personId": "52907745-7672-470e-a"
      },
      {
        "firstName": "Jane",
        "lastName": "Smith",
        "email": "[email protected]",
        "company": "Acme Inc",
        "position": "CEO"
      }
    ]
  }'

Response

{
  "guests": [
    {
      "personId": "52907745-7672-470e-a",
      "firstName": "John",
      "lastName": "Doe",
      "email": "[email protected]",
      "rsvpStatus": "Invited",
      "rsvpStatusHistory": [
        {
          "status": "Invited",
          "actorId": "admin-user-1",
          "actorType": "user",
          "createdAt": "2023-11-01T14:30:00Z"
        }
      ],
      "dietaryRestrictions": null,
      "attendanceStatus": null,
      "rsvpQuestionResponses": [],
      "rsvpNote": null,
      "customColumns": null
    },
    {
      "personId": "67492abd-9821-742e-c",
      "firstName": "Jane",
      "lastName": "Smith",
      "email": "[email protected]",
      "rsvpStatus": "Invited",
      "rsvpStatusHistory": [
        {
          "status": "Invited",
          "actorId": "admin-user-1",
          "actorType": "user",
          "createdAt": "2023-11-01T14:30:00Z"
        }
      ],
      "dietaryRestrictions": null,
      "attendanceStatus": null,
      "rsvpQuestionResponses": [],
      "rsvpNote": null,
      "customColumns": null
    }
  ]
}

PUT/event/:id/guestlist

Update event guests

This endpoint allows you to update the status of guests for a specific event.

Required attributes

  • Name
    guests
    Type
    array
    Description

    An array of guest objects to update.

Guest update object properties

  • Name
    personId
    Type
    string
    Description

    The unique identifier of the person to update.

  • Name
    rsvpStatus
    Type
    string
    Description

    The new RSVP status for the guest (e.g. "Accepted", "Declined", "Maybe").

  • Name
    attendanceStatus
    Type
    string
    Description

    The attendance status for the guest ("Attended" or "No Show").

Request

PUT
/event/e8dj2ns9-34kd-9j3b/guestlist
curl -X PUT https://rest.gatsby.events/event/e8dj2ns9-34kd-9j3b/guestlist \
  -H "Authorization: Bearer {token}" \
  -H "organizationSlug: {organizationSlug}" \
  -d '{
    "guests": [
      {
        "personId": "52907745-7672-470e-a",
        "rsvpStatus": "Accepted",
        "attendanceStatus": "Attended"
      },
      {
        "personId": "67492abd-9821-742e-c",
        "rsvpStatus": "Declined",
        "attendanceStatus": null
      }
    ]
  }'

Response

{
  "guests": [
    {
      "personId": "52907745-7672-470e-a",
      "firstName": "John",
      "lastName": "Doe",
      "email": "[email protected]",
      "rsvpStatus": "Accepted",
      "rsvpStatusHistory": [
        {
          "status": "Invited",
          "actorId": "admin-user-1",
          "actorType": "user",
          "createdAt": "2023-10-01T14:30:00Z"
        },
        {
          "status": "Accepted",
          "actorId": "admin-user-1",
          "actorType": "user",
          "createdAt": "2023-11-02T09:45:00Z"
        }
      ],
      "dietaryRestrictions": ["Vegetarian"],
      "attendanceStatus": "Attended",
      "rsvpQuestionResponses": [],
      "rsvpNote": null,
      "customColumns": null
    },
    {
      "personId": "67492abd-9821-742e-c",
      "firstName": "Jane",
      "lastName": "Smith",
      "email": "[email protected]",
      "rsvpStatus": "Declined",
      "rsvpStatusHistory": [
        {
          "status": "Invited",
          "actorId": "admin-user-1",
          "actorType": "user",
          "createdAt": "2023-10-01T14:30:00Z"
        },
        {
          "status": "Declined",
          "actorId": "admin-user-1",
          "actorType": "user",
          "createdAt": "2023-11-02T09:45:00Z"
        }
      ],
      "dietaryRestrictions": null,
      "attendanceStatus": null,
      "rsvpQuestionResponses": [],
      "rsvpNote": null,
      "customColumns": null
    }
  ]
}

Was this page helpful?