CHAPTER POINTS

Chapter Points are metadata associated with the Event which inform when certain items are occuring within the Event. Commonly used to represent speakers and topics in the live stream.


Chapter Point Object

{
    "id": "6844d9d3-a402-5942-755d-38e6d163e820",
    "eventId": "20001f9e-b24d-4c46-b600-c6c057bb0758",
    "parentId": null,
    "referenceId": "reference-id",
    "title": "Example Chapter Point",
    "tag": "tag",
    "startTime": "2018-05-04T09:50:10Z",
    "endTime": "2018-05-04T09:54:20Z",
    "chapterPointCustomProperties": [],
    "children": []
}

Chapter Points can have their own Custom Properties, which give room for custom data. See here.

They can also contain child Chapter Points, which resemble the same structure but as a tree. This will be null unless the buildTree parameter is specified as True.


Supported Actions

POST /chapterpoint/

Add or Update a Chapter Point.

Request Body:

{
  "Id": "",
  "ParentId": "1ed10c35-960d-4062-8e1b-6a0f526145c9",
  "EventId": "dc18bddc-6c2c-4736-be0b-5073a8b9fca6",
  "ReferenceId": "referenceId",
  "Title": "Chapter Point Example",
  "Tag": "my,tags",
  "StartTime": "",
  "EndTime": "",
  "RefreshIndex": false,
  "PropertyModels": [
    {
      "Key": "key-here",
      "Category": "category-here",
      "Value": "value-here"
    }
  ]
}

Id is optional, and setting it to Null will treat it as an Add, whereas specifying the value will result in an Update.

Property models are optional and allow you to create Custom Properties for that Chapter Point in the same call.

Response: 200 OK


POST /chapterpoint/bulk/

Add or Update multiple Chapter Points at the same time.

Request Body:

[
  {
  "Id": "",
  "ParentId": "1ed10c35-960d-4062-8e1b-6a0f526145c9",
  "EventId": "dc18bddc-6c2c-4736-be0b-5073a8b9fca6",
  "ReferenceId": "referenceId",
  "Title": "Chapter Point Example",
  "Tag": "my,tags",
  "StartTime": "",
  "EndTime": "",
  "RefreshIndex": false,
  "PropertyModels": [
    {
      "Key": "key-here",
      "Category": "category-here",
      "Value": "value-here"
    }
  ]
}
]

Id is optional, and setting it to Null will treat it as an Add, whereas specifying the value will result in an Update.

Property models are optional and allow you to create Custom Properties for that Chapter Point in the same call.

Response: 200 OK


GET /chapterpoint/{id}

Get Chapter Point by Id.

Response: 200 OK and JSON containing the Chapter Point object.


GET /chapterpoint/

Get Chapter Points, filtered by query parameters.

Query Parameters:

Title: {string} - string to search Title properties for containing.

ReferenceId: {string} - string to search ReferenceId properties for containing. 

StartTime: {ISO8601 string} - DateTime string.

EndTime: {ISO8601 string} - DateTime string.

Tag: {string} - string to search Tag properties for containing.

NoCache: {bool} - bool to specify whether to bypass cache or not.

BuildTree: {bool} - bool to specify a tree format instead of a flat format (default).

Note: all query parameters are optional.

Response: 200 OK and a JSON array containing multiple Chapter Point objects.


GET /chapterpoint/event/{eventId}

Gets all Chapter Points for an Event.

Query Parameters:

NoCache: {bool} - bool to specify whether to bypass cache or not.

BuildTree: {bool} - bool to specify a tree format instead of a flat format (default).

Response: 200 OK and a JSON array containing multiple Chapter Point objects.


GET /chapterpoint/event/{eventId}/parent/{parentId}

Get Chapter Points for an Event, where the ParentId matches the given one. If null, it will return all root nodes.

Query Parameters:

NoCache: {bool} - bool to specify whether to bypass cache or not.

BuildTree: {bool} - bool to specify a tree format instead of a flat format (default).

Response: 200 OK and a JSON array containing multiple Chapter Point objects.


GET /chapterpoint/event/{eventId}/parents/{parentId}

Get Chapter Points for an Event, starting with the ChapterPoint with Id = ParentId, and its parents.

Query Parameters:

NoCache: {bool} - bool to specify whether to bypass cache or not.

BuildTree: {bool} - bool to specify a tree format instead of a flat format (default).

Response: 200 OK and a JSON array containing multiple Chapter Point objects.


DEL /chapterpoint/{id}

Delete Chapter Point by Id.

Response: 200 OK


DEL /chapterpoint/event/{id}

Delete all Chapter Points for an Event Id.

Response: 200 OK


DEL /chapterpoint/tag/{id}

Delete Chapter Points for an Event Id based on Tag.

Query Parameters:

Tag: {string} - Required, else will return 400 Bad Request.

Response: 200 OK


DEL /chapterpoint/clearcache/{eventId}

Clear the cache for ChapterPoints relating to an Event, or all ChapterPoint cache.

Query Parameters:

EventId: {Guid} - Optional. If not specified will clear all ChapterPoint cache.

Response: 410 Gone