Creating attendees

There are two scopes that can be used to create Event Attendees:

  • Admin scope (using the System scope access token);
  • Anonymous scope (without using any access tokens);

Admin scope

To create event attendees using the admin scope, you must have a System scope access token with full access to the company or event environment. You must have in hands the following query attributes: tokenID eventID, and the following body attributes: name and username.

  • name is the Attendee name;
  • username is an username, its value can be an email address -- recommended in case you have username disabled in your event settings;

Example

The endpoint that you should use is event.person.bind on RCP or event/person/bind on RESTful.

Here is how to create an attendee:

curl --request POST \
     --url 'https://inevent.com/api/?action=event.person.bind&eventID=YOUR_EVENT_ID' \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/x-www-form-urlencoded' \
     --data name=Mauricio%20Giordano&username=mauriciogior&company=InEvent

You can also provide extra parameters to be added directly in the creation of the attendee (they are all optional):

Field nameDescription
emailThe attendee email address. If you leave this field empty and the username is an email, it will be used the username as its value automatically.
roleThe attendee job title.
companyThe attendee company.
telephoneThe attendee telephone.
originThe origin of the creation (can be any string -- "my-api-integration" for instance). Useful to track where attendees came from.
createSpeakerShould it create a speaker profile for this attendee (accepts boolean 0 or 1, defaults to 0).
levelA numeric representation of the attendee permission level within the event environment. Defaults to LEVEL_USER. You can find a mapping here.

Response

Once you create the attendee, you will get a response similar to the following one:

{
  "count": 1,
  "data": [
    {
      "username": "mauriciogior",
      "facebookID": "0",
      "linkedInID": "",
      "twitterID": "",
      "email": "",
      "telephone": "",
      "qrCode": "31cb6bbc7e13bb9b5e1d2eb4e403f59d77fda4b004da0c82fdf1ed5d71d97d8c",
      "ebQrCode": "",
      "nfc": "",
      "eventID": "5",
      "personID": "185",
      "firstName": "Mauricio",
      "lastName": "Giordano",
      "name": "Mauricio Giordano",
      "personName": "Mauricio Giordano",
      "role": "",
      "company": "InEvent",
      "summary": "",
      "image": "",
      "headline": " @ InEvent",
      "personHeadline": " @ InEvent",
      "city": "",
      "facebook": "",
      "linkedIn": "",
      "twitter": "",
      "instagram": "",
      "website": "",
      "position": "42",
      "level": "1",
      "ebUserID": "",
      "mkUserID": "0",
      "approved": "1",
      "paid": "0",
      "rsvp": "-1",
      "present": "0",
      "message": "",
      "private": "0",
      "meetingQuotaID": "0",
      "meetingAutoConfirm": "1",
      "engagement": "0",
      "language": "en",
      "personLanguage": "en",
      "origin": "panel",
      "salesforceID": "",
      "salesforceType": "",
      "hubspotID": "",
      "enrollmentDate": "1634691218",
      "updatedDate": "",
      "meetingQuotaName": "",
      "meetingQuotaAmount": "0",
      "device": "none",
      "downloaded": "0",
      "favorite": "0",
      "ally": "0",
      "isSponsor": "0",
      "prints": "0",
      "profileID": "",
      "ticketID": "",
      "assistantEmail": "",
      "ticketName": "",
      "ticketEntrance": "",
      "tags": [],
      "speakerID": ""
    }
  ]
}

Anonymous scope

To create an attendee using the anonymous scope, you will need an event with proper settings that allows users to enroll without a ticket or an invite (although it's doable using the invite attribute as long as the email is on your Invitees List). You must have in hands the following query attribute: eventID, and the following body attributes: firstName, lastName, email and feedbackContent.

  • firstName is the Attendee first name;
  • lastName is the Attendee last name;
  • email is the Attendee email;
  • feedbackContent is an Array with custom fields (accepts empty array in case no required custom fields exist);

📘

Custom fields

In case you have required custom fields, you must send them through the feedbackContent as an Array of Objects with the following attributes: feedbackID and value.

Example:
[ {"feedbackID": "1234", "value": "My answer 1"}, {"feedbackID": "2345", "value": "My answer 2"} ]

In case you have an API Field key set for your custom field, you can use the following format:
{"f_question_1": "My answer 1", "f_question_2": "My answer 2"}

Please note that in this case, it should be an Object instead of an Array.

Example

The endpoint that you should use is form.respondRegistration on RCP or form/respondRegistration on RESTful.

Here is how to create an attendee:

curl --request POST \
     --url 'https://inevent.com/api/?action=form.respondRegistration&eventID=YOUR_EVENT_ID' \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/x-www-form-urlencoded' \
     --data firstName=Mauricio&lastName=Giordano&[email protected]&company=InEvent&feedbackContent=[]

You can also provide extra parameters to be added directly in the creation of the attendee (they are all optional):

Field nameDescription
usernameIf you leave it blank, it will be the same as the email address.
inviteIn case you have the Invite Requirement setting enabled, you must send the email here as well.
imageThe URL of the attendee profile picture.
passwordThe attendee password to access the platform -- if you leave it blank, it will generate a random password.
roleThe attendee job title.
companyThe attendee company.
telephoneThe attendee telephone.
rsvpA numeric boolean 0 or 1 (defaults to 0) to indicate if the attendee RSVPed to the event.
loginA numeric boolean 0 or 1 (defaults to 0) to indicate if the response should contain the user access token tokenID.
tagIDsA list of tagIDs separated by comma (only Attendee-type tags are allowed).
privateA numeric boolean 0 or 1 (defaults to 0) to indicate if this user has its profile set as private.

Response

Once you create the attendee, you will get a response similar to the following one:

{
  "count": 1,
  "data": [
    {
      "username": "[email protected]",
      "facebookID": "0",
      "linkedInID": "",
      "twitterID": "",
      "email": "",
      "telephone": "",
      "qrCode": "31cb6bbc7e13bb9b5e1d2eb4e403f59d77fda4b004da0c82fdf1ed5d71d97d8c",
      "ebQrCode": "",
      "nfc": "",
      "eventID": "5",
      "personID": "185",
      "firstName": "Mauricio",
      "lastName": "Giordano",
      "name": "Mauricio Giordano",
      "personName": "Mauricio Giordano",
      "role": "",
      "company": "InEvent",
      "summary": "",
      "image": "",
      "headline": " @ InEvent",
      "personHeadline": " @ InEvent",
      "city": "",
      "facebook": "",
      "linkedIn": "",
      "twitter": "",
      "instagram": "",
      "website": "",
      "position": "42",
      "level": "1",
      "ebUserID": "",
      "mkUserID": "0",
      "approved": "1",
      "paid": "0",
      "rsvp": "-1",
      "present": "0",
      "message": "",
      "private": "0",
      "meetingQuotaID": "0",
      "meetingAutoConfirm": "1",
      "engagement": "0",
      "language": "en",
      "personLanguage": "en",
      "origin": "panel",
      "salesforceID": "",
      "salesforceType": "",
      "hubspotID": "",
      "enrollmentDate": "1634691218",
      "updatedDate": "",
      "meetingQuotaName": "",
      "meetingQuotaAmount": "0",
      "device": "none",
      "downloaded": "0",
      "favorite": "0",
      "ally": "0",
      "isSponsor": "0",
      "prints": "0",
      "profileID": "",
      "ticketID": "",
      "assistantEmail": "",
      "ticketName": "",
      "ticketEntrance": "",
      "tags": [],
      "speakerID": ""
    }
  ]
}