Integration via API

Custom integrations can be achieved using the Conferences i/o API.

Note: API settings are an account setting enabled by Conferences i/o. If these settings are missing in your app, contact Customer Support to have them enabled.

 

API documentation

Manage API keys

Create a new API key

 

API documentation

Full reference documentation for the Conferences i/o API is below.

Authentication Scheme Reference

  • API Key (ApiKeyHeader)
    • Parameter Name: API-Key, in: header.

Conferences i/o App REST API v2

Availability

API access must be activated by Conferences i/o before any API endpoint will work. Please reach out to your Conferences i/o Account Representative or to Conferences i/o Support (support@conferences.io) if you would like more information about activating API access. There may be an additional cost associated with activating API access.

Endpoint

Your endpoint for this API lives under your Conferences i/o URL. If your Conferences i/o URL was example.cnf.io, your endpoint would be: https://example.cnf.io/api/v2

The App identifier used when calling App resources is the App's URI (e.g. example for example.cnf.io). Be aware that this value may occasionally change if and when you send a change_uri instruction.

Authentication

All requests require an API-Key HTTP header. Multiple API keys can be created and managed by an administrator to control access.

Data Format

All request and response bodies are JSON (application/json).

Responses

Successful responses generally include a status ("ok") and a code (HTTP status code). Response body shape varies by endpoint. Some DELETE endpoints return 200 with a body, while others return 204 with no body.

Null Value Behavior

  • In GET responses: A null value indicates a field has no setting.
  • In PUT requests: A null value means the field will be ignored (same as omitting it). To unset a field, pass a blank string ("").

Timestamps

All timestamps are in ISO-8601 format.

 

Base URLs:

  • https://{subdomain}.cnf.io/api/v2
    • subdomain - Your Conferences i/o subdomain (e.g. "example" for example.cnf.io) Default: YOUR_URL

App

App-level settings and configuration.

Retrieve App Settings

GET /app

Retrieves the current settings for the app. The App identifier is the app's URI (e.g. "example" for example.cnf.io). This value may occasionally change when a change_uri instruction is sent.

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": {
    "app_password": null,
    "custom_attendee_field_1": "Registration ID",
    "custom_attendee_field_2": "Region",
    "custom_attendee_field_3": null,
    "custom_attendee_field_4": null,
    "custom_attendee_field_5": null,
    "end_date": "2019-01-29",
    "moderator_password": "example_moderator_secret",
    "name": "Example Event",
    "start_date": "2019-01-24",
    "timezone": "America/Chicago"
  }
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "A description of an error that occurred during this request."
}
Responses
Status Meaning Description Schema
200 OK App settings retrieved successfully. Inline
500 Internal Server Error Error response envelope. ErrorResponse
Response Schema
Enumerated Values
Property Value
status ok

Authentication required: ApiKeyHeader

Update App Settings

PUT /app

Updates app settings. Only send fields you want to update. A null value for any field means that field will be ignored (no change). To unset a field, pass an empty string ("").

Body parameter

{
  "name": "string",
  "start_date": "2019-01-24",
  "end_date": "2019-01-26",
  "timezone": "America/Chicago",
  "app_password": "string",
  "moderator_password": "string",
  "custom_attendee_field_1": "string",
  "custom_attendee_field_2": "string",
  "custom_attendee_field_3": "string",
  "custom_attendee_field_4": "string",
  "custom_attendee_field_5": "string"
}
Parameters
Name In Type Required Description
body body AppSettings true none
» name body string or null false A label associated with the app/instance, typically the name of the event.
» url body string or null false The publicly accessible URL for this app (read-only).
» start_date body string or null false Event start date. Format: YYYY-MM-DD (e.g. "2019-01-24").
» end_date body string or null false Event end date. Format: YYYY-MM-DD (e.g. "2019-01-26").
» timezone body string or null false Accepts values from the tz database, like "America/Chicago". Pass -1 for no timezone.
» app_password body string or null false A shared secret used to password-protect an app before anyone can join. Pass "" to unset.
» moderator_password body string or null false A shared secret used for session moderators. Pass "" to unset.
» custom_attendee_field_1 body string or null false Flexible label for identifying information associated with attendees.
» custom_attendee_field_2 body string or null false none
» custom_attendee_field_3 body string or null false none
» custom_attendee_field_4 body string or null false none
» custom_attendee_field_5 body string or null false none

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": null
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "A description of an error that occurred during this request."
}
Responses
Status Meaning Description Schema
200 OK App settings updated successfully. SuccessResponse
500 Internal Server Error Error response envelope. ErrorResponse

Authentication required: ApiKeyHeader

Sessions

Session management, including creation, retrieval, updating, deletion, and polling/Q&A data.

Retrieve a List of Sessions

GET /sessions

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": {
    "count": 5,
    "data": [
      {
        "access_code": null,
        "checkin_code": null,
        "checkin_required": true,
        "checkout_code": null,
        "checkout_required": true,
        "date": "2026-01-12",
        "delivery_format": "virtual",
        "end_time": "00:00:00",
        "external_id": null,
        "fields_of_study": [
          {
            "credits": "1",
            "name": "Ethics"
          }
        ],
        "id": "abcd",
        "learning_objectives": null,
        "location": null,
        "moderator_password": null,
        "name": "Example Session",
        "presenters": null,
        "start_time": "00:00:00",
        "url": "https://example.cnf.io/sessions/abcd"
      }
    ]
  }
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "A description of an error that occurred during this request."
}
Responses
Status Meaning Description Schema
200 OK List of sessions retrieved successfully. Inline
500 Internal Server Error Error response envelope. ErrorResponse
Response Schema
Enumerated Values
Property Value
status ok

Authentication required: ApiKeyHeader

Create a Session

POST /sessions

Creates a new session. date is preferred in YYYY-MM-DD format, but other date strings like "January 23, 2023" are also parsed. start_time and end_time are preferred in 24-hour HH:MM format (e.g. "20:00" for 8:00PM), but strings like "8pm" or "8:00PM" are also accepted. There is no need to account for timezone — use the dates and times appropriate to the event's geographic context. Presenters can be created inline via the presenters array. See the Presenters section for deduplication logic.

Body parameter

{
  "external_id": "string",
  "name": "Example Session",
  "location": "Ballroom A",
  "description": "string",
  "date": "2019-01-24",
  "start_time": "08:30:00",
  "end_time": "09:15:00",
  "access_code": "string",
  "moderator_password": "string",
  "presenters": [
    {
      "id": "abcdefghijkl",
      "external_id": "PRESENTER-001",
      "name": "Jordan Example"
    }
  ],
  "fields_of_study": [
    {
      "name": "Accounting",
      "credits": "2.5"
    }
  ],
  "learning_objectives": [
    "string"
  ],
  "checkin_required": true,
  "checkout_required": true,
  "checkin_code": "string",
  "checkout_code": "string",
  "delivery_format": "string"
}
Parameters
Name In Type Required Description
body body any true none

Example responses

201 Response

{
  "status": "ok",
  "code": "201",
  "data": {
    "object": "session",
    "id": "abcd",
    "url": "https://example.cnf.io/sessions/abcd"
  }
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "A description of an error that occurred during this request."
}
Responses
Status Meaning Description Schema
201 Created Session created successfully. Inline
500 Internal Server Error Error response envelope. ErrorResponse
Response Schema
Enumerated Values
Property Value
status ok

Authentication required: ApiKeyHeader

Retrieve a Session

GET /sessions/{session_id}

Parameters
Name In Type Required Description
session_id path string true The session's short identifier (e.g. "abcd").

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": {
    "id": "abcd",
    "external_id": null,
    "name": "Example Session",
    "location": "Ballroom A",
    "date": "2026-06-01",
    "start_time": "08:30:00",
    "end_time": "09:15:00",
    "access_code": null,
    "moderator_password": null,
    "checkin_code": null,
    "checkin_required": false,
    "checkout_code": null,
    "checkout_required": false,
    "delivery_format": null,
    "url": "https://example.cnf.io/sessions/abcd",
    "presenters": null,
    "fields_of_study": [
      {
        "name": "Accounting",
        "credits": "2"
      }
    ],
    "learning_objectives": null
  }
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "A description of an error that occurred during this request."
}
Responses
Status Meaning Description Schema
200 OK Session retrieved successfully. Inline
500 Internal Server Error Error response envelope. ErrorResponse
Response Schema
Enumerated Values
Property Value
status ok

Authentication required: ApiKeyHeader

Update a Session

PUT /sessions/{session_id}

Updates a session. You only need to send the fields you want updated. A null value means the field will be ignored (no change). To unset a field, pass an empty string (""). If fields_of_study is not included in the request, no change will be made to existing fields of study. Presenters can be updated inline via the presenters array. See the Presenters section for deduplication and update logic.

Body parameter

{
  "external_id": "string",
  "name": "Example Session",
  "location": "Ballroom A",
  "description": "string",
  "date": "2019-01-24",
  "start_time": "08:30:00",
  "end_time": "09:15:00",
  "access_code": "string",
  "moderator_password": "string",
  "presenters": [
    {
      "id": "abcdefghijkl",
      "external_id": "PRESENTER-001",
      "name": "Jordan Example"
    }
  ],
  "fields_of_study": [
    {
      "name": "Accounting",
      "credits": "2.5"
    }
  ],
  "learning_objectives": [
    "string"
  ],
  "checkin_required": true,
  "checkout_required": true,
  "checkin_code": "string",
  "checkout_code": "string",
  "delivery_format": "string"
}
Parameters
Name In Type Required Description
body body any true none
session_id path string true The session's short identifier (e.g. "abcd").

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": null
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "A description of an error that occurred during this request."
}
Responses
Status Meaning Description Schema
200 OK Session updated successfully. SuccessResponse
500 Internal Server Error Error response envelope. ErrorResponse

Authentication required: ApiKeyHeader

Delete a Session

DELETE /sessions/{session_id}

Parameters
Name In Type Required Description
session_id path string true The session's short identifier (e.g. "abcd").
Responses
Status Meaning Description Schema
204 No Content Session deleted successfully. No response body. None

Authentication required: ApiKeyHeader

Retrieve Session Polling and Q&A Data

GET /sessions/{session_id}/data

Returns polling and Social Q&A data for a session (added December 2019). This endpoint only supports retrieving data — modifying polling or Q&A data is not supported. Useful for moving raw response datasets into your own database or service. Important: This endpoint is not intended for real-time consumption of polling and Q&A data, and no real-time method exists in this API.

Parameters
Name In Type Required Description
session_id path string true The session's short identifier.

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": {
    "polls": {},
    "questions": []
  }
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "A description of an error that occurred during this request."
}
Responses
Status Meaning Description Schema
200 OK Session polling and Q&A data retrieved successfully. Inline
500 Internal Server Error Error response envelope. ErrorResponse
Response Schema
Enumerated Values
Property Value
status ok

Authentication required: ApiKeyHeader

Attendance Tracking

Session attendance check-ins, check-outs, preloading, and removal. Includes support for fields of study, codewords, and delivery format tracking.

Retrieve All Attendance Tracking Data for a Session

GET /sessions/{session_id}/attendance

Parameters
Name In Type Required Description
session_id path string true The session's short identifier.

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": [
    {
      "user": {
        "first_name": "Alex",
        "last_name": "Example",
        "email": "attendee@example.com",
        "external_id": "ATTENDEE-001",
        "field_1": null,
        "field_2": null,
        "field_3": null,
        "field_4": null,
        "field_5": null
      },
      "checkin_time": "2019-01-08T11:47:02-05:00",
      "checkout_time": null,
      "checkin_time_actual": "2019-01-08T12:38:02-05:00",
      "checkout_time_actual": null,
      "delivery_format": null,
      "admin_note": null,
      "attendee_note": null,
      "checkin_source": null,
      "checkout_source": null,
      "fields_of_study": [
        {
          "name": "Accounting",
          "credits": 2,
          "codewords": {
            "possible": 4,
            "valid": 0,
            "missed": 4,
            "valid_list": [],
            "missed_list": [
              "code1",
              "code2",
              "code3",
              "code4"
            ]
          }
        },
        {
          "name": "Taxes",
          "credits": 1,
          "codewords": {
            "possible": 2,
            "valid": 0,
            "missed": 2,
            "valid_list": [],
            "missed_list": [
              "code5",
              "code6"
            ]
          }
        }
      ],
      "history": [
        {
          "action": "checkin",
          "timestamp": "2019-01-08T11:47:02-05:00"
        }
      ]
    }
  ]
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "A description of an error that occurred during this request."
}
Responses
Status Meaning Description Schema
200 OK Attendance data retrieved successfully. Inline
500 Internal Server Error Error response envelope. ErrorResponse
Response Schema
Enumerated Values
Property Value
status ok
action checkin
action checkout

Authentication required: ApiKeyHeader

Clear All Check-Ins for a Session

DELETE /sessions/{session_id}/attendance

Removes all check-ins and attendance data for an individual session. This method cannot remove individual attendee check-ins — use the /attendance/remove endpoint for that.

Parameters
Name In Type Required Description
session_id path string true The session's short identifier.

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": {
    "count": 3
  }
}
Responses
Status Meaning Description Schema
200 OK All check-ins cleared successfully. Inline
Response Schema
Enumerated Values
Property Value
status ok

Authentication required: ApiKeyHeader

Remove Check-Ins for a Session

POST /sessions/{session_id}/attendance/remove

Removes individual attendee check-ins using filters. Can remove check-ins by email, external_id, or remove all check-ins with all: true. Filter rules: - Filters cannot be combined. Using more than one (e.g. all: true + an email) returns a "Too many possible filters" error.

  • Passing all attributes as null or omitting them returns a "No valid filters were passed" error.
  • email and external_id are mutually exclusive. - Matches are exact and case-insensitive. If two user records share the same email, both check-ins will be removed.

Use preview: true to see what would be removed without executing the removal. Added October 2021.

Body parameter

{
  "preview": false,
  "all": true,
  "email": "string",
  "external_id": "string"
}
Parameters
Name In Type Required Description
body body object true none
» preview body boolean false If true, check-in removal will not be executed. The response will still include what would have been removed.
» all body boolean false If true, all check-ins for the session will be removed. Cannot be combined with other filters.
» email body string or null false Remove check-ins matching this exact email (case-insensitive). Cannot be used at the same time as external_id.
» external_id body string or null false Remove check-ins matching this exact external_id (case-insensitive). Cannot be used at the same time as email.
» anonymous body object false none
»» all body boolean true none
» anonymous body object false none
»» email body string true none
» anonymous body object false none
»» external_id body string true none
session_id path string true The session's short identifier.
Enumerated Values
Parameter Value
»» all true

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": {
    "preview": false,
    "found": 1,
    "checkins": [],
    "filters": {
      "all": false,
      "email": "attendee@example.com",
      "external_id": null
    }
  }
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "Too many possible filters"
}
Responses
Status Meaning Description Schema
200 OK Check-in removal executed (or previewed). Response includes preview flag, found count, checkins array of removed records, and filters summary. Inline
500 Internal Server Error Error — possible messages: - "Too many possible filters": Filters cannot be combined (e.g. all: true with an email). - "No valid filters were passed": All usable attributes were null or omitted. ErrorResponse
Response Schema
Enumerated Values
Property Value
status ok
action checkin
action checkout

Authentication required: ApiKeyHeader

Preload Attendees to a Session

POST /sessions/{session_id}/attendance/preload

Pre-loads attendees for check-in, primarily used with Kiosk Mode. No pre-existing pre-loaded attendees will be removed when pre-loading. If you need to re-synchronize, clear existing attendance data for the session first, then use this method again.

Body parameter

[
  {
    "external_id": "ATTENDEE-001",
    "first_name": "Alex",
    "last_name": "Example",
    "email": "attendee@example.com",
    "field_1": "North Region",
    "field_2": "string",
    "field_3": "string",
    "field_4": "string",
    "field_5": "string"
  }
]
Parameters
Name In Type Required Description
body body PreloadAttendee true none
session_id path string true The session's short identifier.

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": {
    "count": 2
  }
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "A description of an error that occurred during this request."
}
Responses
Status Meaning Description Schema
200 OK Attendees preloaded successfully. Inline
500 Internal Server Error Error response envelope. ErrorResponse
Response Schema
Enumerated Values
Property Value
status ok

Authentication required: ApiKeyHeader

Session Evaluations

Session evaluation response data (read-only).

Retrieve All Evaluation Response Data

GET /evaluations/responses

Returns all session evaluation response data across the app. Each record represents a single question/response pair, associated with a session, user, and optionally a presenter.

Example responses

200 Response

{
  "status": "ok",
  "code": "200",
  "data": {
    "count": 0,
    "responses": []
  }
}

500 Response

{
  "status": "error",
  "code": "500",
  "message": "A description of an error that occurred during this request."
}
Responses
Status Meaning Description Schema
200 OK Evaluation responses retrieved successfully. Inline
500 Internal Server Error Error response envelope. ErrorResponse
Response Schema
Enumerated Values
Property Value
status ok

Authentication required: ApiKeyHeader

Schemas

SuccessResponse

{
  "status": "ok",
  "code": "200",
  "data": null
}

Properties
Name Type Required Restrictions Description
status string true none none
code string true none none
data any false none Response payload. Shape varies by endpoint and may be null.
Enumerated Values
Property Value
status ok

ErrorResponse

{
  "status": "error",
  "code": "500",
  "message": "string"
}

Properties
Name Type Required Restrictions Description
status string true none none
code string true none none
message string true none A description of the error that occurred.
Enumerated Values
Property Value
status error

AppSettings

{
  "name": "string",
  "url": "string",
  "start_date": "2019-01-24",
  "end_date": "2019-01-26",
  "timezone": "America/Chicago",
  "app_password": "string",
  "moderator_password": "string",
  "custom_attendee_field_1": "string",
  "custom_attendee_field_2": "string",
  "custom_attendee_field_3": "string",
  "custom_attendee_field_4": "string",
  "custom_attendee_field_5": "string"
}

Properties
Name Type Required Restrictions Description
name string or null false none A label associated with the app/instance, typically the name of the event.
url string or null false read-only The publicly accessible URL for this app (read-only).
start_date string or null false none Event start date. Format: YYYY-MM-DD (e.g. "2019-01-24").
end_date string or null false none Event end date. Format: YYYY-MM-DD (e.g. "2019-01-26").
timezone string or null false none Accepts values from the tz database, like "America/Chicago". Pass -1 for no timezone.
app_password string or null false none A shared secret used to password-protect an app before anyone can join. Pass "" to unset.
moderator_password string or null false none A shared secret used for session moderators. Pass "" to unset.
custom_attendee_field_1 string or null false none Flexible label for identifying information associated with attendees.
custom_attendee_field_2 string or null false none none
custom_attendee_field_3 string or null false none none
custom_attendee_field_4 string or null false none none
custom_attendee_field_5 string or null false none none

SessionListData

{
  "count": 5,
  "data": [
    {
      "id": "abcd",
      "external_id": "string",
      "name": "Example Session",
      "location": "Ballroom A",
      "description": "string",
      "date": "2019-01-24",
      "start_time": "08:30:00",
      "end_time": "09:15:00",
      "access_code": "string",
      "moderator_password": "string",
      "url": "https://example.cnf.io/sessions/abcd",
      "presenters": [
        {
          "id": "7yzhmasgrdeys6fwyx64hx41",
          "external_id": null,
          "name": "Casey Example"
        }
      ],
      "fields_of_study": [
        {
          "name": "Accounting",
          "credits": "2.5"
        }
      ],
      "learning_objectives": [
        "string"
      ],
      "checkin_required": true,
      "checkout_required": true,
      "checkin_code": "string",
      "checkout_code": "string",
      "delivery_format": "string"
    }
  ]
}

Properties
Name Type Required Restrictions Description
count integer true none Number of session records returned in this response.
data [Session] true none none

CountData

{
  "count": 2
}

Properties
Name Type Required Restrictions Description
count integer true none none

FieldOfStudy

{
  "name": "Accounting",
  "credits": "2.5"
}

Both name and credits are required. If fields_of_study is not passed in a create or update request, no change will be made. Poorly formatted fields_of_study will not produce an error — instead, the field will silently become empty for the session.

Properties
Name Type Required Restrictions Description
name string true none Label for the field of study.
credits string true none Numeric credit value (passed as a string).

PresenterRef

{
  "id": "abcdefghijkl",
  "name": "Jordan Example",
  "external_id": "PRESENTER-001"
}

Presenter objects used when creating or updating a session. The simplest form passes only name. If no external_id is specified, the API attempts to find a presenter with a matching name to avoid duplicates. If external_id is specified, the API looks for a presenter with that external_id and creates one if none exists. If the internal id is specified, name and external_id will be updated in Conferences i/o.

Properties
Name Type Required Restrictions Description
id string false none Internal identifier. If specified, name and external_id will be updated.
name string false none Full name of the presenter (include salutations directly, e.g. "John Johnson, M.D.").
external_id string or null false none Optional external identifier useful for syncing from a third-party database.

PresenterSummary

{
  "id": "7yzhmasgrdeys6fwyx64hx41",
  "external_id": null,
  "name": "Casey Example"
}

Properties
Name Type Required Restrictions Description
id string false none Internal identifier, auto-generated on creation.
external_id string or null false none none
name string false none none

Session

{
  "id": "abcd",
  "external_id": "string",
  "name": "Example Session",
  "location": "Ballroom A",
  "description": "string",
  "date": "2019-01-24",
  "start_time": "08:30:00",
  "end_time": "09:15:00",
  "access_code": "string",
  "moderator_password": "string",
  "url": "https://example.cnf.io/sessions/abcd",
  "presenters": [
    {
      "id": "7yzhmasgrdeys6fwyx64hx41",
      "external_id": null,
      "name": "Casey Example"
    }
  ],
  "fields_of_study": [
    {
      "name": "Accounting",
      "credits": "2.5"
    }
  ],
  "learning_objectives": [
    "string"
  ],
  "checkin_required": true,
  "checkout_required": true,
  "checkin_code": "string",
  "checkout_code": "string",
  "delivery_format": "string"
}

Properties
Name Type Required Restrictions Description
id string false read-only A short string used as an identifier for a session. Automatically generated on creation and cannot be changed.
external_id string or null false none Optional external identifier useful for syncing sessions from a third-party system.
name string false none A label for the session that appears on an app's homepage and the session header, allowing attendees to find and identify the session.
location string or null false none A label for the session's location (e.g. "Ballroom A", "Superior Room").
description string or null false none A description associated with the session. Not currently displayed in the app.
date string false none Session date in YYYY-MM-DD format (preferred). Other date strings like "January 23, 2023" are also parsed.
start_time string or null false none Session start time using local event time. Preferred format is 24-hour HH:MM (e.g. "20:00" for 8:00PM), but strings like "8pm" or "8:00PM" are also accepted. No need to account for timezone — use the time appropriate to the event's geographic context.
end_time string or null false none Session end time using local event time. Same format rules as start_time.
access_code string or null false none A custom access code for searching from a long list of apps. Not used for attendee authentication.
moderator_password string or null false none A specific shared moderator password that only works for this session.
url string false read-only A publicly accessible URL for this session, usable for embedding in an event app.
presenters [PresenterSummary] or null false none none
fields_of_study [FieldOfStudy] or null false none [Both name and credits are required. If fields_of_study is not passed in a create or update request, no change will be made. Poorly formatted fields_of_study will not produce an error — instead, the field will silently become empty for the session.
]
learning_objectives [string] or null false none Optional list of learning objectives associated with the session.
checkin_required boolean or null false none Requires attendees to check in before joining the session.
checkout_required boolean or null false none Allows attendees to check out at the end of the session.
checkin_code string or null false none Code required to successfully check in to a session.
checkout_code string or null false none Code required to successfully check out of a session.
delivery_format string or null false none If configured for a session, will be one of "in-person", "virtual", or "hybrid".

Codewords

{
  "possible": 4,
  "valid": 0,
  "missed": 4,
  "valid_list": [
    "string"
  ],
  "missed_list": [
    "code1",
    "code2",
    "code3",
    "code4"
  ]
}

Properties
Name Type Required Restrictions Description
possible integer false none The number of codewords that exist for this field of study in the session.
valid integer false none The number of valid codewords the user submitted for this field of study.
missed integer false none The number of codewords the user did not submit for this field of study.
valid_list [string] false none Raw array of submitted codewords.
missed_list [string] false none Raw array of codewords the user missed.

FieldOfStudyCheckin

{
  "name": "Accounting",
  "credits": 2,
  "codewords": {
    "possible": 4,
    "valid": 0,
    "missed": 4,
    "valid_list": [
      "string"
    ],
    "missed_list": [
      "code1",
      "code2",
      "code3",
      "code4"
    ]
  }
}

Field of study as it appears in a check-in record. If an administrator has manually adjusted the awarded credits within the application, that adjusted value will be reflected here.

Properties
Name Type Required Restrictions Description
name string false none none
credits number false none none
codewords Codewords false none none

CheckinHistoryEntry

{
  "action": "checkin",
  "timestamp": "2019-01-08T11:47:02-05:00"
}

Properties
Name Type Required Restrictions Description
action string false none none
timestamp string false none ISO-8601 timestamp for the action.
Enumerated Values
Property Value
action checkin
action checkout

AttendeeUser

{
  "first_name": "Alex",
  "last_name": "Example",
  "email": "attendee@example.com",
  "external_id": "ATTENDEE-001",
  "field_1": "string",
  "field_2": "string",
  "field_3": "string",
  "field_4": "string",
  "field_5": "string"
}

Properties
Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
email string false none none
external_id string or null false none none
field_1 string or null false none none
field_2 string or null false none none
field_3 string or null false none none
field_4 string or null false none none
field_5 string or null false none none

CheckinRecord

{
  "user": {
    "first_name": "Alex",
    "last_name": "Example",
    "email": "attendee@example.com",
    "external_id": "ATTENDEE-001",
    "field_1": "string",
    "field_2": "string",
    "field_3": "string",
    "field_4": "string",
    "field_5": "string"
  },
  "checkin_time": "2019-01-08T11:47:02-05:00",
  "checkout_time": "string",
  "checkin_time_actual": "2019-01-08T12:38:02-05:00",
  "checkout_time_actual": "string",
  "delivery_format": "string",
  "admin_note": "string",
  "attendee_note": "string",
  "checkin_source": "string",
  "checkout_source": "string",
  "evaluation_complete": "0",
  "total_time_attended": "string",
  "fields_of_study": [
    {
      "name": "Accounting",
      "credits": 2,
      "codewords": {
        "possible": 4,
        "valid": 0,
        "missed": 4,
        "valid_list": [
          "string"
        ],
        "missed_list": [
          "code1",
          "code2",
          "code3",
          "code4"
        ]
      }
    }
  ],
  "history": [
    {
      "action": "checkin",
      "timestamp": "2019-01-08T11:47:02-05:00"
    }
  ]
}

Properties
Name Type Required Restrictions Description
user AttendeeUser false none none
checkin_time string or null false none ISO-8601 timestamp for the earliest check-in time associated with this record. Will be null if check-in has not occurred. In a future state, administrators may be able to modify this value; the _actual variant will then reflect the original.
checkout_time string or null false none ISO-8601 timestamp for the latest check-out time associated with this record. Will be null if check-out has not occurred.
checkin_time_actual string or null false none For most purposes, identical to checkin_time. Once administrators can modify checkin_time, this field will reflect the original (unmodified) value.
checkout_time_actual string or null false none For most purposes, identical to checkout_time. Once administrators can modify checkout_time, this field will reflect the original (unmodified) value.
delivery_format string or null false none How the attendee attended the session. Typically "in-person" or "virtual". Null if unknown.
admin_note string or null false none none
attendee_note string or null false none none
checkin_source string or null false none none
checkout_source string or null false none none
evaluation_complete string or null false none Whether the attendee completed the session evaluation, as returned by the live API.
total_time_attended string or null false none Total attended duration as returned by the live API, or null when not available.
fields_of_study [FieldOfStudyCheckin] or null false none [Field of study as it appears in a check-in record. If an administrator has manually adjusted the awarded credits within the application, that adjusted value will be reflected here.
]
history [CheckinHistoryEntry] false none Array of all check-in and check-out actions associated with this record. Attendees can check out and re-check in (e.g. for a lunch break during a seminar), so multiple entries are possible. In many cases this will simply mirror checkin_time and checkout_time for a single session check-in.

PreloadAttendee

{
  "external_id": "ATTENDEE-001",
  "first_name": "Alex",
  "last_name": "Example",
  "email": "attendee@example.com",
  "field_1": "North Region",
  "field_2": "string",
  "field_3": "string",
  "field_4": "string",
  "field_5": "string"
}

Properties
Name Type Required Restrictions Description
external_id string false none none
first_name string false none none
last_name string false none none
email string false none none
field_1 string or null false none none
field_2 string or null false none none
field_3 string or null false none none
field_4 string or null false none none
field_5 string or null false none none

PollData

{
  "created": "string",
  "name": "An example poll",
  "rank": 0,
  "type": "multiple_choice",
  "choices": [
    "Choice 1",
    "Choice 2",
    "Choice 3"
  ],
  "responses": null
}

Properties
Name Type Required Restrictions Description
created string or null false none Poll creation timestamp as returned by the API.
name string false none none
rank integer or null false none none
type string false none none
choices [string] false none none
responses any false none Poll response data, or null if no responses yet.

SessionQAData

{
  "polls": {
    "property1": {
      "created": "string",
      "name": "An example poll",
      "rank": 0,
      "type": "multiple_choice",
      "choices": [
        "Choice 1",
        "Choice 2",
        "Choice 3"
      ],
      "responses": null
    },
    "property2": {
      "created": "string",
      "name": "An example poll",
      "rank": 0,
      "type": "multiple_choice",
      "choices": [
        "Choice 1",
        "Choice 2",
        "Choice 3"
      ],
      "responses": null
    }
  },
  "questions": [
    {}
  ]
}

Properties
Name Type Required Restrictions Description
polls object false none A map of poll IDs to PollData objects. Keys are poll identifiers.
» additionalProperties PollData false none none
questions [object] or null false none Q&A question data, or null if none.

EvaluationResponseListData

{
  "count": 0,
  "responses": [
    {
      "session": {
        "name": "Breakout A",
        "external_id": "string"
      },
      "user": {
        "id": "10000001",
        "external_id": "string",
        "first_name": "Alex",
        "last_name": "Example",
        "field_1": "ATTENDEE-001",
        "field_2": "Yes",
        "field_3": "string",
        "field_4": "string",
        "field_5": "string"
      },
      "presenter": null,
      "question": "How was this session?",
      "response": "5 - Great",
      "response_value": 5,
      "timestamp": "Tue, 21 Jan 2018 11:47:08 -0500"
    }
  ]
}

Properties
Name Type Required Restrictions Description
count integer true none none
responses [EvaluationResponse] true none none

EvaluationUser

{
  "id": "10000001",
  "external_id": "string",
  "first_name": "Alex",
  "last_name": "Example",
  "field_1": "ATTENDEE-001",
  "field_2": "Yes",
  "field_3": "string",
  "field_4": "string",
  "field_5": "string"
}

Properties
Name Type Required Restrictions Description
id string false none none
external_id string or null false none none
first_name string false none none
last_name string false none none
field_1 string or null false none none
field_2 string or null false none none
field_3 string or null false none none
field_4 string or null false none none
field_5 string or null false none none

EvaluationResponse

{
  "session": {
    "name": "Breakout A",
    "external_id": "string"
  },
  "user": {
    "id": "10000001",
    "external_id": "string",
    "first_name": "Alex",
    "last_name": "Example",
    "field_1": "ATTENDEE-001",
    "field_2": "Yes",
    "field_3": "string",
    "field_4": "string",
    "field_5": "string"
  },
  "presenter": null,
  "question": "How was this session?",
  "response": "5 - Great",
  "response_value": 5,
  "timestamp": "Tue, 21 Jan 2018 11:47:08 -0500"
}

Properties
Name Type Required Restrictions Description
session object false none none
» name string false none none
» external_id string or null false none none
user EvaluationUser false none none
presenter any false none Presenter associated with this evaluation response, if any.
question string false none none
response string false none none
response_value number or null false none none
timestamp string false none Timestamp of the response submission.

 

Manage API keys

  1. Sign-in to the Admin panel
  2. Under Advanced Settings, click API Keys & Settings
  3. View an API key by clicking the blurred text area or disable a key by clicking Disable This Key

 

Create a new API key

  1. In API Keys & Settings, click Add API Key

     
  2. Enter a description for the key, then click Create Now


     

  3. Get the API key by clicking the blurred text area in the API Keys & Settings area