Registrations

The registration object

A registration of a participant to an event (an attendee, a reviewer, an exhibitor, a sponsor…), with its ticket and its check-in presence. Its form answers, orders and payments are never part of it.

Attributes

idstring
Unique identifier for the object: the registration's reference on the platform.
objectenum
String representing the object's type. Always registration.
Possible values
  • registration
eventstring or expanded event objectexpandable
The event of the registration: its id, or the event object when it is expanded (expand[]=event, or expand[]=data.event in a list or a search; needs events_read).
statusenum
The registration's status. A client must accept a value it does not know: adding a value is a compatible change.
Possible values
  • require_admin_validation
  • validated
  • canceled
  • rejected
roleenumnullable
The participant's role at the event; null when it has none. A client must accept a value it does not know.
Possible values
  • attendee
  • applicant
  • reviewer
  • committee
  • exhibitor
  • sponsor
  • partner
  • guest
first_namestringnullable
The participant's first name.
last_namestringnullable
The participant's last name.
emailstringnullable
The participant's e-mail address.
ticketobjectnullable
The ticket of the registration; null when it has none.
Child attributes
namestring
The ticket's name, as the organizer named it.
checkinobject
The participant's check-in presence at the event.
Child attributes
checked_inboolean
Whether the participant was scanned at least once.
last_checked_in_attimestampnullable
Time of the latest scan, in Unix seconds (UTC); null when the participant was never scanned.
createdtimestamp
Time at which the participant registered, in Unix seconds (UTC).
updatedtimestampnullable
Time at which the object was last modified, in Unix seconds (UTC); null when the platform holds none.
Example object
{
  "id": "SUB-8c3e2a71-0f4b-4d6a-b5e9-27c1d9a4e612",
  "object": "registration",
  "event": "EVT-5a1f0c2e-3b7d-4e91-9c2a-1d6e8f4b7a30",
  "status": "validated",
  "role": "attendee",
  "first_name": "Ada",
  "last_name": "Lovelace",
  "email": "ada.lovelace@example.com",
  "ticket": {
    "name": "Full pass"
  },
  "checkin": {
    "checked_in": true,
    "last_checked_in_at": 1810119600
  },
  "created": 1795521600,
  "updated": 1810119600
}

Retrieve a registration

GET/v1/registrations/{id}

Retrieves the registration with this id, with its ticket and its check-in presence. expand[]=event gives the event object in place of its id (the key also needs events_read). A registration of another organization answers resource_missing, like an id that does not exist.

Requires the scope registrations_read.

Path parameters

idstringrequired
The id of the registration.

Query parameters

expand[]array of enumoptional
event: the event object in place of its id (needs events_read).
Possible values
  • event

Returns

Returns the registration object.

Request

curl

curl -G https://api.masterconf.com/v1/registrations/SUB-8c3e2a71-0f4b-4d6a-b5e9-27c1d9a4e612 \
  -H "Authorization: Bearer mcf_your_key"

JavaScript

const res = await fetch("https://api.masterconf.com/v1/registrations/SUB-8c3e2a71-0f4b-4d6a-b5e9-27c1d9a4e612", {
  headers: { Authorization: "Bearer mcf_your_key" },
});
const data = await res.json();

Python

import requests

res = requests.get(
    "https://api.masterconf.com/v1/registrations/SUB-8c3e2a71-0f4b-4d6a-b5e9-27c1d9a4e612",
    headers={"Authorization": "Bearer mcf_your_key"},
)
data = res.json()
Response
{
  "id": "SUB-8c3e2a71-0f4b-4d6a-b5e9-27c1d9a4e612",
  "object": "registration",
  "event": "EVT-5a1f0c2e-3b7d-4e91-9c2a-1d6e8f4b7a30",
  "status": "validated",
  "role": "attendee",
  "first_name": "Ada",
  "last_name": "Lovelace",
  "email": "ada.lovelace@example.com",
  "ticket": {
    "name": "Full pass"
  },
  "checkin": {
    "checked_in": true,
    "last_checked_in_at": 1810119600
  },
  "created": 1795521600,
  "updated": 1810119600
}

List the registrations of an event

GET/v1/registrations

Returns a page of the registrations of one event (the event parameter is required), newest first (created descending, then id descending), each with its check-in presence. Walk the pages with starting_after (or ending_before). An event of another organization answers resource_missing on event.

Requires the scope registrations_read.

Query parameters

eventstringrequired
The id of the event whose registrations are listed. Required.
statusarray of enumoptional
Only the registrations in this status. Repeat the parameter for several (status=validated&status=require_admin_validation).
Possible values
  • require_admin_validation
  • validated
  • canceled
  • rejected
rolearray of enumoptional
Only the registrations with this role. Repeat the parameter for several (role=attendee&role=guest).
Possible values
  • attendee
  • applicant
  • reviewer
  • committee
  • exhibitor
  • sponsor
  • partner
  • guest
limitintegeroptional
The number of objects of the page, from 1 to 100; at most 20 when the request has an expand[] (each expanded or included field costs reads per object of the page).

Defaults to 10.

starting_afterstringoptional
A cursor for the next page: the id of an object of this list (the last one of the page you have); the page holds the objects that follow it. Not with ending_before.
ending_beforestringoptional
A cursor for the previous page: the id of an object of this list (the first one of the page you have); the page holds the objects that precede it, in the same order. Not with starting_after.
include[]array of enumoptional
total_count: add total_count, the number of objects of the whole list.
Possible values
  • total_count
expand[]array of enumoptional
data.event: the event object in place of its id in each registration (needs events_read).
Possible values
  • data.event

Returns

Returns a list object whose data are registration objects.

Request

curl

curl -G https://api.masterconf.com/v1/registrations \
  -H "Authorization: Bearer mcf_your_key" \
  --data-urlencode "event=EVT-5a1f0c2e-3b7d-4e91-9c2a-1d6e8f4b7a30"

JavaScript

const params = new URLSearchParams({
  "event": "EVT-5a1f0c2e-3b7d-4e91-9c2a-1d6e8f4b7a30",
});

const res = await fetch(`https://api.masterconf.com/v1/registrations?${params}`, {
  headers: { Authorization: "Bearer mcf_your_key" },
});
const data = await res.json();

Python

import requests

res = requests.get(
    "https://api.masterconf.com/v1/registrations",
    params={"event": "EVT-5a1f0c2e-3b7d-4e91-9c2a-1d6e8f4b7a30"},
    headers={"Authorization": "Bearer mcf_your_key"},
)
data = res.json()
Response
{
  "object": "list",
  "url": "/v1/registrations",
  "has_more": true,
  "data": [
    {
      "id": "SUB-8c3e2a71-0f4b-4d6a-b5e9-27c1d9a4e612",
      "object": "registration",
      "event": "EVT-5a1f0c2e-3b7d-4e91-9c2a-1d6e8f4b7a30",
      "status": "validated",
      "role": "attendee",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "email": "ada.lovelace@example.com",
      "ticket": {
        "name": "Full pass"
      },
      "checkin": {
        "checked_in": true,
        "last_checked_in_at": 1810119600
      },
      "created": 1795521600,
      "updated": 1810119600
    }
  ]
}

Search the registrations of an event

GET/v1/registrations/search

Returns a page of the registrations of one event that match query, newest first (created descending, then id descending). The query is one or more clauses joined by AND (in capitals, one space on each side): field:'value' (equals) or field~'value' (contains, case-insensitive, 3 to 200 characters, without %, _ nor \). A value is always between single quotes; a quote inside it is written \'. Each field at most once; OR, comparators and other fields are refused (search_query_invalid, the message names the position). The event clause is required. The next page is asked with page=<next_page> and the same query: a page is bound to the query that produced it, and any other query (or a malformed page) answers 400 parameter_invalid on page.

Requires the scope registrations_read.

Query parameters

querystringrequired
The search query, such as event:'EVT-…' AND text~'lovelace'. Required.
limitintegeroptional
The number of objects of the page, from 1 to 100; at most 20 when the request has an expand[] (each expanded or included field costs reads per object of the page).

Defaults to 10.

pagestringoptional
The next_page of the previous answer, sent with the same query: the page that follows it. With another query (the order of the clauses does not matter), or a malformed value, the answer is 400 parameter_invalid on page.
include[]array of enumoptional
total_count: add total_count, the number of objects of the whole result.
Possible values
  • total_count
expand[]array of enumoptional
data.event: the event object in place of its id in each registration (needs events_read).
Possible values
  • data.event

Searchable fields

event: equalsrequired
The event whose registrations are searched (its id). Required.
text~ containsoptional
Contains this text, case-insensitive: matches the registration's id, the first name, the last name and the e-mail address only.
status: equalsoptional
Equals this status of a registration (require_admin_validation, validated, canceled, rejected).
role: equalsoptional
Equals this role of a participant (attendee, applicant, reviewer, committee, exhibitor, sponsor, partner, guest).

Returns

Returns a search result object whose data are registration objects.

Request

curl

curl -G https://api.masterconf.com/v1/registrations/search \
  -H "Authorization: Bearer mcf_your_key" \
  --data-urlencode "query=event:'EVT-5a1f0c2e-3b7d-4e91-9c2a-1d6e8f4b7a30' AND text~'lovelace'"

JavaScript

const params = new URLSearchParams({
  "query": "event:'EVT-5a1f0c2e-3b7d-4e91-9c2a-1d6e8f4b7a30' AND text~'lovelace'",
});

const res = await fetch(`https://api.masterconf.com/v1/registrations/search?${params}`, {
  headers: { Authorization: "Bearer mcf_your_key" },
});
const data = await res.json();

Python

import requests

res = requests.get(
    "https://api.masterconf.com/v1/registrations/search",
    params={"query": "event:'EVT-5a1f0c2e-3b7d-4e91-9c2a-1d6e8f4b7a30' AND text~'lovelace'"},
    headers={"Authorization": "Bearer mcf_your_key"},
)
data = res.json()
Response
{
  "object": "search_result",
  "url": "/v1/registrations/search",
  "has_more": true,
  "next_page": "eyJjIjoxNzk1NTIxNjAwLCJpIjoiU1VCLThjM2UyYTcxIiwicSI6IjNmOWEifQ",
  "data": [
    {
      "id": "SUB-8c3e2a71-0f4b-4d6a-b5e9-27c1d9a4e612",
      "object": "registration",
      "event": "EVT-5a1f0c2e-3b7d-4e91-9c2a-1d6e8f4b7a30",
      "status": "validated",
      "role": "attendee",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "email": "ada.lovelace@example.com",
      "ticket": {
        "name": "Full pass"
      },
      "checkin": {
        "checked_in": true,
        "last_checked_in_at": 1810119600
      },
      "created": 1795521600,
      "updated": 1810119600
    }
  ]
}