Listing attendees

To list all event attendees in your event environment you may use the event.person.find endpoint with multiple filters and pagination. The required query attributes for this endpoint are tokenID, eventID and selection, and we have several optional attributes for filtering and pagination.

To retrieve the full profile of the attendee (including custom fields), you must send the fullProfile query attribute with value 1.

Selection query attribute

The selection query attribute accepts the following values:

{
    "all": "All",
    "admin": "Complete event admin power",
    "not-admin": "Standard event attendees",
    "speakers": "Linked speakers",
    "permission": "Specific event power",
    "collector": "Lead retrievals collectors",
    "custom-list": "Custom list",
    "tags": "Tags",
    "with-email": "Emails sent",
    "without-email": "Emails not sent",
    "approved": "Enrollment approved",
    "denied": "Enrollment denied",
    "nfc-synced": "NFC synced",
    "nfc-not-synced": "NFC not synced",
    "printed": "Badge printed",
    "not-printed": "Badge not printed",
    "accepted-rsvp": "RSVP accepted",
    "declined-rsvp": "RSVP declined",
    "waiting-rsvp": "RSVP waiting",
    "downloaded": "App downloaded",
    "not-downloaded": "App not downloaded",
    "incomplete-profile": "Missing role, company or image",
    "present": "Attendee present in-person",
    "not-present": "Attendee absent in-person",
    "virtual": "Attendee present online",
    "not-virtual": "Attendee absent online",
    "now-virtual": "Attendee present online right now",
    "public": "Attendee public for chats",
    "private": "Attendee private for chats",
    "favorited": "Attendee favorited by personID"
}

The selection query attribute allows stacking (AND operation) by separating values with a pipe. Example: selection=printed|present. It also allows complex stacking for a certain key, like tags. Example: selection=printed|present|tags:29124,4255.

Key-value filtering

We also have the following optional query attributes as filters:

{
    "name": "Attendee name",
    "username": "Attendee username",
    "email": "Attendee email",
    "role": "Attendee job title",
    "company": "Attendee company",
    "assistantEmail":  "Assistant email",
    "updatedBeforeDate": "Updated before (unix timestamp)",
    "updatedAfterDate": "Updated after (unix timestamp)",
    "ticket":  "Ticket",
}

You can also use query and queryKey instead of using the field name as the query attribute directly if you prefer.

You can also search by custom fields using the feedback_$feedbackID format. Example:

{
    "feedback_1234": "Query for custom field 1234"
}

Pagination

To paginate you can use limit and offset query attributes and to get the total amount of events listed in your account (used to build pagination UI and calculate the amount of pages) you should send the paginated query attribute with value 1.

Ordering

To order the events you can use the following query attributes: order and orderOrientation. The orderOrientation attribute accepts ASC (ascending) and DESC (descending) as values
and the order query attribute accepts the following values:

[
    "level",
    "memberID",
    "name",
    "firstName",
    "lastName",
    "username",
    "role",
    "company",
    "email",
    "assistantEmail",
    "private",
    "rsvp",
    "present",
    "origin",
    "ticket",
    "language",
    "enrollmentDate",
    "updatedDate",
    "printed",
    "device",
    "downloaded",
    "rand"
]

Example

Here is an example of this API call:

curl --request GET \
     --url 'https://inevent.com/api/?action=event.person.find&tokenID=YOUR_TOKEN_HERE&eventID=YOUR_EVENT_ID_HERE&limit=100&offset=0&paginated=1' \
     --header 'Accept: application/json'

Spreadsheet reports

To generate a spreadsheet report out of that API call, you can send the format attribute with the value excel-daemon. Excel spreadsheets takes a while to generate and they will show up in your Report center, but you can also retrieve them using the download.find endpoint.