API Reporting Documentation

Last updated September 11, 2019

 

1. Introduction

The WorkCast API is built on HTTP. Our API is RESTful and it:

  • Uses predictable, resource-oriented URLs.
  • Uses built-in HTTP capabilities for passing parameters and authentication.
  • Responds with standard HTTP response codes to indicate errors.
  • Returns JSON.

To give you an idea of how to use the API, we have annotated our documentation with code samples. 

1.1 Base URL

All API URLs referenced in this documentation start with a base part. For all customers the base URL’s are:

Authentication API

  https://authapi.workcast.com/v1.0

 

Reporting API Data Requests

  https://repapi.workcast.com/v1.0

 

1.2 Authentication

When you sign up for an account, you are given an API key. You authenticate to the WorkCast API by providing your API key in the request. As part of an upcoming WorkCast Stratus update, you will be able to manage your API key in the “Integration” tab under the Administration section of your login area. In the meantime, contact your account manager for more information.

Authentication to the API occurs via the OAUTH2 protocol via the following API call (see also section 1.1 Base URL – Authentication API):

  POST /signin

 

Body

  {

  "apiKey": "<API Key>"

  }

WARNING: Keep your API Key secret!

 

1.2.1 Example - Request

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Content-Type: application/json" -H "APIKey: test_api_key" -d "" -X POST https://authapi.workcast.com/v1.0/signin

 

Response – JWT Bearer Token


{

   "idToken": "eyJraWQiOiJkcTFDaFVkZnY3SUoyeDVrSHdOUjJteDlIem5aZGU2XC9uVnhaQVdZOHU0Yz0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhMzA5MmY1Mi02YzBkLTQyNjgtYjNlZi0yMTc1MmUzYzgyOWMiLCJhdWQiOiIzc2Q3bjB1MTlybm9vOTh0c2wzYjZnaXZhcSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiZXZlbnRfaWQiOiJjODI5ZTU3Ni04NjA4LTExZTktYTFkOS02NTI4Y2ZiYjlkYmYiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTU1OTU3MDc4OCwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tXC9ldS13ZXN0LTFfWWhzUEY1cmVPIiwiY29nbml0bzp1c2VybmFtZSI6InRlc3RfdXNlcl93aXRoX2FwaV9rZXkyIiwiZXhwIjoxNTU5NTc0Mzg4LCJpYXQiOjE1NTk1NzA3ODgsImVtYWlsIjoidXNlci5hcGkua2V5MkB3b3JrY2FzdC5jb20ifQ.gowMvx8ITakaB8X6dHbLTnSyADQa0Y3qQD9kXwRrNVtGxrPh03dMWRevYuAAho8nGPFIUKF4RY10aJzfnuCrB6SAsETPs7E0jlr5BwPXJIWsp4LwIInps0_XXpHGR8O4TAqP01YC332CDTAsyV6xzHNmfiWwtm8tNh6LKwUBH_eysxa2cIqvtp_ROpGNvSzG1hiTMrag4k_bGWDhEevmuPMd7LgDnwW-lXvhurud-teCTTMYZZI_hqinjyFv-cf8Ri7esXHHlq7svSyT0dD3GTIv2VAY0zp1OriRkZEQS51KHPFZI1gvy7DYygWdrtYC2C7sl0OQCpSAXYzJSTy6ig",

   "expiresIn": 3600,

   "paging": null,

   "responseCode": 200,

   "message": "Ok"

}


NOTE: The JWT bearer token must be used in all subsequent API calls after authentication. Tokens expire periodically and will result in a 401 response (see section 1.4 below). Tokens must be refreshed at this point via a new “signin”.

1.3 Date Format

WorkCast returns JSON for all API calls. JSON does not have a built-in date type, dates are passed as strings encoded according to ISO 8601. This format is a worldwide standard that all modern programming languages support:


‘2019-05-23T10:07:48.830Z’

 

Note that all dates are passed and returned in UTC format.

1.4 Error Response Codes

WorkCast returns standard HTTP response codes.

Code

Description

200

The request has succeeded

400

Bad Request

401

Unauthorised - Invalid API key provided

402

Request Failed - Parameters were valid but request failed

404

Not Found - The requested item does not exist

405

Method not allowed

429

Too Many Requests – API limit exceeded

500, 502, 503, 504

Server Errors - something is wrong on WorkCast’s end

 

2. Domains

The following data domains are exposed via the API:

  • Events

  • Channels

  • Sessions

  • Presenters

  • Contacts

  • Attendance

  • Polls

  • Resource Clicks

  • Chat

  • Question and Answer

Note that all endpoints listed in this section use the Reporting API Base URL as defined in section 1.1.

2.1 Events

The API allows you to retrieve event data programmatically.

Parameter

 Description

limit

Maximum number of records to return (default 100)

skip

Number of records to skip (Default 0)

 


GET/events


Get a list of Events under your account in JSON. See examples below.


GET /events/<Event Id>


Get a single Event from your account.


GET /events/modified/after/<Date>


Get a list of all Events from your account created or modified after date. Date format as denoted above.


GET /events/live/after/<Date>


Get a list of Events from your account with a live date and time after the specified date and time.


GET /events/live/before/<Date>


Get a list of Events from your account with a live date and time before the specified date and time.


GET /events/live/between/<Date>/and/<Date>


Get a list of Events from your account with a live date and time between the specified dates and times.

2.1.1 Examples

Get a list of all Events in your account.

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Authorization: Bearer <JWT_Bearer_Token>" -H "Content-Type: application/json" -X GET -d "{"skip"=0,"limit"=10}" https://repapi.workcast.com/v1.0/events


Sample Response:


{

"totalCount": 1,

"events": [

{

"eventId": 123,

"eventPak": "1234567890123456",

"title": "My Test Event",

"eventType": "Live",

"eventDateTime": "2019-07-26T17:00:00.000Z”,

"durationHHMM": "01:00",

"totalSessions": 1,

"createdDate": "2019-07-26T16:38:22.843Z”,

"updatedDate": "2019-07-26T16:38:22.960Z”

}

],

 "paging": {
"previous": null,
"next": "http://repapi.workcast.com/v1.0/events/b2de86ad-f47a-493d-ba00-9bb9d2d41024"
},
"responseCode": 200,
"message": "Ok"

}

 

2.2 Channels

The API allows you to retrieve channel data programmatically.

Parameter

Description

limit

Maximum number of records to return (default 100)

skip

Number of records to skip (Default 0)

 


GET /channels


Get a list of Channels under your account in JSON. See examples below.


GET /channels/<Event Id>


Get a single Channel from your account.


GET /channels/modified/after/<Date>


Get a list of all Channels from your account created or modified after date. Date format as denoted above.

2.2.1 Examples

Get a list of all Channels in your account

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Authorization: Bearer <JWT_Bearer_Token>" -H "Content-Type: application/json" -X GET -d "{"skip"=0,"limit"=10}" https://repapi.workcast.com/v1.0/channels


Sample Response:

{

"totalCount": 1,

"channels": [

{

"channelId": 1122,

"channelPak": "1234567890123456",

"title": "My Test Channel",

"channelType": "On-demand",

"totalSessions": 1,

"createdDate": "2019-05-23T10:07:48.830Z”,

"updatedDate": "2019-05-23T10:07:48.830Z”

}

],

"paging": null,

"responseCode": 200,

“message”: “ok”

}


2.3 Sessions

The API allows you to retrieve a list of event session data.

Parameter

Description

limit

Maximum number of records to return (default 100)

skip

Number of records to skip (Default 0)

 


GET /events/<Event Id>/sessions


Get a list of all sessions for an event. See examples below.


GET /events/<Event Id>/sessions/<Event Session Id>


Get data for a single session.


GET /events/<Event Id>/sessions/modified/after/<Date>


Get data for all sessions created or modified after date. Date format as denoted above.


GET /events/<Event Id>/sessions/live/after/<Date>


Get a list of Events from your account with a live date and time after the specified date and time.


GET /events/<Event Id>/sessions/live/before/<Date>


Get a list of Events from your account with a live date and time before the specified date and time.


GET /events/<Event Id>/sessions/live/between/<Date>/and/<Date>


Get a list of Events from your account with a live date and time between the specified dates and times.

2.3.1 Examples

Get a list of all sessions for an event

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Authorization: Bearer <JWT_Bearer_Token>" -H "Content-Type: application/json" -X GET -d "{"skip"=0,"limit"=10}" https://repapi.workcast.com/v1.0/events/<Event Id>/sessions


Sample response:

{

"totalCount": 1,

"sessions": [

{

"sessionId": 456,

"sessionPak": "1234567890123456",

"title": "My Test Session",

"sessionType": "Live",

"presentationType": "Slides Only",

"sessionDateTime": "2019-05-24T10:00:000Z”,

"durationHHMM": "01:00",

"totalRegPageVisits": 50,

"totalRegistrations": 40,

"totalAttendees": 40,

"totalAttendeePageVisits": 50,

"pollType": "normal",

"pollPassPcent": "n/a",

"totalPollsAsked": 5,

"totalPollResponses": 200,

"totalChat": 20,

"totalQnA": 0,

"totalEngagementScore": "80%",

"createdDate": "2019-05-23T10:07:48.830Z”,

"updatedDate": "2019-05-23T10:07:48.830Z”

}

],

"paging": null,

"responseCode": 200,

“message”: “ok”

}

 

2.4 Presenters

The API allows you to retrieve a list of event session presenter data.

Parameter

Description

limit

Maximum number of records to return (default 100)

skip

Number of records to skip (Default 0)

 


GET /events/<Event Id>/sessions/presenters


Get a list of all presenters for all sessions for an event. See examples below.


GET /events/<Event Id>/sessions/<Event Session Id>/presenters


Get presenter data for a single session.


2.4.1 Examples

Get a list of all presenters for all sessions for an event.

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Authorization: Bearer <JWT_Bearer_Token>" -H "Content-Type: application/json" -X GET -d "{"skip"=0,"limit"=10}" https://repapi.workcast.com/v1.0/events/<Event Id>/sessions/presenters

 

Sample response:

{

"totalCount": 1,

"presenters": [

{

"sessionId": 456,

"presenterId": 8354,

"email": "presenterone@workcast.com",

"firstName": "Presenter",

"lastName": "One",

"createdDate": "2019-05-20T09:14:48.830Z”,

"updatedDate": "2019-05-21T15:07:22.110Z”

}

],

"paging": null,

"responseCode": 200,

“message”: “ok”


}

 

2.5 Contacts

Retrieve a list of event registrant and/or attendee contact data.

Parameter

Description

limit

Maximum number of records to return (default 25)

skip

Number of records to skip (Default 0)

 


GET /events/<Event Id>/contacts


Get all contacts for an event. See examples below.


GET /events/<Event Id>/contacts/<Contact Id>


Get data for a single contact.


GET /events/<Event Id>/contacts/modified/after/<Date>


Get all contacts for an event created or modified after date.


GET /events/<Event Id>/contacts/registered


Get all registered contacts for an event.


GET /events/<Event Id>/contacts/registered/modified/after/<Date>


Get all registered contacts for an event created or modified after date.


GET /events/<Event Id>/contacts/attended


Get all attendee contacts for an event.


GET /events/<Event Id>/contacts/attended/modified/after/<Date>


Get all attendee contacts for an event created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts


Get all contacts for an event session.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/modified/after/<Date>


Get all contacts for an event session created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/registered


Get all registered contacts for an event session.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/registered/ modified/after/<Date>


Get all registered contacts for an event session created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attended


Get all attendee contacts for an event session.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attended/ modified/after/<Date>


Get all attendee contacts for an event session created or modified after date.

2.5.1 Examples

Get a list of all contacts for an event.

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Authorization: Bearer <JWT_Bearer_Token>" -H "Content-Type: application/json" -X GET -d "{"skip"=0,"limit"=10}" https://repapi.workcast.com/v1.0/events/<Event Id>/contacts

 

Sample response:

{

"totalCount": 1,

"contacts": [

{

"eventId": 123,

"eventSessionId": 456,

"contactId": 789,

"uniqueId": "456_example@workcast.com",

"title": "Mr",

"firstName": "Example name",

"lastName": "Example name",

"email": "example@workcast.com",

"phone": "",

"jobTitle": "Developer",

"company": "WorkCast",

"addressLine1": "",

"addressLine2": "",

"addressLine3": "",

"city": "",

"countyOrState": "",

"postCode": "",

"countryCode": "UK",

"createdDate": "2019-05-23T10:07:48.830Z”,

"updatedDate": "2019-05-23T10:07:48.830Z”

"registrationDate": "2019-05-23T10:07:48.830Z”,

"ettendedLive": true,

"engagementScore": "75%",

"contactCustomItems": [

{

"desc": "Contact Preference",

"tag": "contactpreference",

"data": "email"

},

{

"desc": "Send Monthly Newsletter",

"tag": "sendmonthlynewsletter",

"data": "true"

}

]

}

],

"paging": null,

"responseCode": 200,

“message”: “ok”

}

 

2.6 Attendance

Retrieve a list of contact attendance data.

Parameter

Description

limit

Maximum number of records to return (default 100)

skip

Number of records to skip (Default 0)

 


GET /events/<Event Id>/contacts/attendancesessions


Get a list of all attendance sessions across all event sessions for an event. See examples below.


GET /events/<Event Id>/contacts/attendancesessions/modified/after/<Date>


Get a list of all attendance sessions across all event sessions for an event created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attendancesessions


Get a list of all attendance sessions for a single event session for an event.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attendancesessions/ modified/after/<Date>


Get a list of all attendance sessions for a single event session for an event created or modified after date.


GET /events/<Event Id>/contacts/<Contact Id>/attendancesessions


Get a list of all attendance sessions for a single event for a single contact.


GET /events/<Event Id>/contacts/<Contact Id>/attendancesessions/modified/after/<Date>


Get a list of all attendance sessions for a single event for a single contact created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/<Contact Id> /attendancesessions


Get a list of all attendance sessions for a single event session for a single event for a single contact.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/<Contact Id>/ attendancesessions/modified/after/<Date>


Get a list of all attendance sessions for a single event session for a single event for a single contact created or modified after date.

2.6.1 Examples

Get a list of all attendance sessions across all event sessions for an event.

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Authorization: Bearer <JWT_Bearer_Token>" -H "Content-Type: application/json" -X GET -d "{"skip"=0,"limit"=10}" https://repapi.workcast.com/v1.0/events/<Event Id>/contacts/attendancesessions


Sample response:

{

"totalCount": 1,

"attendances": [

{

"sessionId": 456,

"contactId": 789,

"attendanceSessionId": 9065,

"dateTimeAttended": "2019-05-25T10:00:000Z”,

"dateTimeLeft": "2019-05-25T10:56:050Z”,

"timeViewedSS": "3365",

"segment1Viewed": true,

"segment2Viewed": true,

"segment3Viewed": true,

"segment4Viewed": true,

"segment5Viewed": true

}

],

"paging": null,

"responseCode": 200,

“message”: “ok”


}

 

2.7 Polls

Retrieve a list of contact attendance poll data.

Parameter

Description

limit

Maximum number of records to return (default 50)

skip

Number of records to skip (Default 0)

 


GET /events/<Event Id>/contacts/attendancesessions/polls


Get a list of all attendance session polls across all event sessions for an event.


GET /events/<Event Id>/contacts/attendancesessions/polls/modified/after/<Date>


Get a list of all attendance session polls across all event sessions for an event created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attendancesessions/polls


Get a list of all attendance session polls for a single event session for an event.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attendancesessions/polls/ modified/after/<Date>


Get a list of all attendance session polls for a single event session for an event created or modified after date.


GET /events/<Event Id>/contacts/<Contact Id>/attendancesessions/polls


Get a list of all attendance session polls for a single event for a single contact.


GET /events/<Event Id>/contacts/<Contact Id>/attendancesessions/polls/modified/ after/<Date>


Get a list of all attendance session polls for a single event for a single contact created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/<Contact Id> /attendancesessions/polls


Get a list of all attendance session polls for a single event session for a single event for a single contact.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/<Contact Id> /attendancesessions/polls/modified/after/<Date>


Get a list of all attendance session polls for a single event session for a single event for a single contact created or modified after date.

2.7.1 Examples

Get a list of all attendance session polls across all event sessions for an event.

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Authorization: Bearer <JWT_Bearer_Token>" -H "Content-Type: application/json" -X GET -d "{"skip"=0,"limit"=10}" https://repapi.workcast.com/v1.0/events/<Event Id>/contacts/attendancesessions/polls


Sample response:


{

"totalCount": 1,

"polls": [

{

"sessionId": 456,

"contactId": 789,

"attendanceSessionId": 9065,

"pollId": 2765,

"pollQuestion": "How many employees work for your company?",

"pollAnswer": "100-200",

"pollAnswerDateTime": "2019-05-25T10:15:000Z”,

"pollAnswerCorrect": "n/a"

}

],

"paging": null,

"responseCode": 200,

“message”: “ok”


}


2.8 Resource Clicks

Retrieve a list of contact attendance document and link resource click activity data.

Parameter

Description

limit

Maximum number of records to return (default 100)

skip

Number of records to skip (Default 0)

 


GET /events/<Event Id>/contacts/attendancesessions/resourceclicks


Get a list of all attendance session resource clicks across all event sessions for an event.


GET /events/<Event Id>/contacts/attendancesessions/resourceclicks/modified/ after/<Date>


Get a list of all attendance session resource clicks across all event sessions for an event created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attendancesessions /resourceclicks


Get a list of all attendance session resource clicks for a single event session for an event.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attendancesessions /resourceclicks/modified/after/<Date>


Get a list of all attendance session resource clicks for a single event session for an event created or modified after date.


GET /events/<Event Id>/contacts/<Contact Id>/attendancesessions/resourceclicks


Get a list of all attendance session resource clicks for a single event for a single contact.


GET /events/<Event Id>/contacts/<Contact Id>/attendancesessions/resourceclicks/ modified/after/<Date>


Get a list of all attendance session resource clicks for a single event for a single contact created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/<Contact Id> /attendancesessions/resourceclicks


Get a list of all attendance session resource clicks for a single event session for a single event for a single contact.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/<Contact Id> /attendancesessions/resourceclicks/modified/after/<Date>


Get a list of all attendance session resource clicks for a single event session for a single event for a single contact created or modified after date.

2.8.1 Examples

Get a list of all attendance session resource clicks across all event sessions for an event.

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Authorization: Bearer <JWT_Bearer_Token>" -H "Content-Type: application/json" -X GET -d "{"skip"=0,"limit"=10}" https://repapi.workcast.com/v1.0/events/<Event Id>/contacts/attendancesessions/resourceclicks


Sample response:


{

"totalCount": 1,

"resourceClicks": [

{

"sessionId": 456,

"contactId": 789,

"attendanceSessionId": 9065,

"resourceId": 3472,

"title": "Test Session Presentation Slides",

"clickDateTime": "2019-05-25T10:15:000Z”

}

],

"paging": null,

"responseCode": 200,

“message”: “ok”

}


2.9 Chat

Retrieve a list of contact attendance chat activity data.

Parameter

Description

limit

Maximum number of records to return (default 25)

skip

Number of records to skip (Default 0)

 


GET /events/<Event Id>/contacts/attendancesessions/chat


Get a list of all attendance session chat across all event sessions for an event.


GET /events/<Event Id>/contacts/attendancesessions/chat/modified/after/<Date>


Get a list of all attendance session chat across all event sessions for an event created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attendancesessions/chat


Get a list of all attendance session chat for a single event session for an event.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attendancesessions/chat/ modified/after/<Date>


Get a list of all attendance session chat for a single event session for an event created or  modified after date.


GET /events/<Event Id>/contacts/<Contact Id>/attendancesessions/chat


Get a list of all attendance session chat for a single event for a single contact.


GET /events/<Event Id>/contacts/<Contact Id>/attendancesessions/chat/ modified/after/<Date>


Get a list of all attendance session chat for a single event for a single contact created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/<Contact Id> /attendancesessions/chat


Get a list of all attendance session chat for a single event session for a single event for a single contact.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/<Contact Id> /attendancesessions/chat/modified/after/<Date>


Get a list of all attendance session chat for a single event session for a single event for a single contact created or modified after date.

2.9.1 Examples

Get a list of all attendance session chat across all event sessions for an event.

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Authorization: Bearer <JWT_Bearer_Token>" -H "Content-Type: application/json" -X GET -d "{"skip"=0,"limit"=10}" https://repapi.workcast.com/v1.0/events/<Event Id>/contacts/attendancesessions/chat


Sample response:


{

"totalCount": 1,

"chatMessages": [

{

"sessionId": 456,

"contactId": 789,

"attendanceSessionId": 9065,

"messageText": "This is a great presentation. When is the next one?",

"messageDateTime": "2019-05-25T10:45:050Z”

}

],

"responseCode": 200,

“message”: “ok”

}


2.10 Question and Answer

Retrieve a list of contact attendance question and answer activity data.

Parameter

Description

limit

Maximum number of records to return (default 25)

skip

Number of records to skip (Default 0)

 


GET /events/<Event Id>/contacts/attendancesessions/qna


Get a list of all attendance session question and answer activity across all event sessions for an event.


GET /events/<Event Id>/contacts/attendancesessions/qna/modified/after/<Date>


Get a list of all attendance session question and answer activity across all event sessions for an event created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attendancesessions/qna


Get a list of all attendance session question and answer activity for a single event session for an event.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/attendancesessions/qna/ modified/after/<Date>


Get a list of all attendance session question and answer activity for a single event session for an event created or modified after date.


GET /events/<Event Id>/contacts/<Contact Id>/attendancesessions/qna


Get a list of all attendance session question and answer activity for a single event for a single contact.


GET /events/<Event Id>/contacts/<Contact Id>/attendancesessions/qna/modified/ after/<Date>


Get a list of all attendance session question and answer activity for a single event for a single contact created or modified after date.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/<Contact Id> /attendancesessions/qna


Get a list of all attendance session question and answer activity for a single event session for a single event for a single contact.


GET /events/<Event Id>/sessions/<Event Session Id>/contacts/<Contact Id> /attendancesessions/qna/modified/after/<Date>


Get a list of all attendance session question and answer activity for a single event session for a single event for a single contact created or modified after date.

2.10.1 Examples

Get a list of all attendance session question and answer activity across all event sessions for an event.

Warning: Our examples are using the curl utility for API examples. UNIX shells require that some characters must be escaped, for example $ becomes \$. For Windows, all double quotes must be escaped so " becomes \".

curl -H "Authorization: Bearer <JWT_Bearer_Token>" -H "Content-Type: application/json" -X GET -d "{"skip"=0,"limit"=10}" https://repapi.workcast.com/v1.0/events/<Event Id>/contacts/attendancesessions/qna


Sample response:


{

"totalCount": 1,

"qnAs": [

{

"sessionId": 456,

"contactId": 789,

"attendanceSessionId": 9065,

"questionText": "How do I sign up for a trial of this great presentation platform?",

"questionDateTime": "2019-05-25T10:47:100Z”,

"answerText": "Visit the WorkCast website and request a trial account.",

"answerDateTime": "2019-05-25T10:50:050Z”,

"answeredBy": "Example user",

"answeredStatus": "reply public"

}

],

"paging": null,

"responseCode": 200,

“message”: “ok”

}



3. Limits

WorkCast imposes a rate limit per API endpoint. Users may issue no more than 100 requests per minute, per account. 

If you exceed your rate limit, you will receive an HTTP 429 response (See section 1.4 Error Response Codes) and must wait 60 seconds before submitting more requests.

 

4. Paging

Should the return dataset exceed the specified or default page size, a paging object is appended to the resulting JSON as follows:


"paging": {

"next": "https://repapi.workcast.com/v1.0/events/XRiy3...",

"previous": "https://repapi.workcast.com/v1.0/events/pl2I7..."

}

 

Additional Articles

You may also be interested in: