CHAPTER POINTS

Chapter Points are metadata associated with the Event which allow to system to represent when an action happened during the Event.

Typically these are used to represent who is speaking or what topic is in the stream at the time.


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. These will only be populated if buildTree is set to 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"
    }
  ]
}

Note: id is required when updating a specific ChapterPoint, but optional when adding.

Note: propertyModels are optional and allow for Custom Properties to be created at the same time as the ChapterPoint.

Response: 200 OK


POST /chapterpoint/bulk/

Add or Update multiple Chapter Points at the same time.

Request Body:

[
  {
  "Id": null,
  "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"
    }
  ]
}
]

Note: id is required when updating a specific ChapterPoint, but optional when adding.

Note: propertyModels are optional and allow for Custom Properties to be created at the same time as the ChapterPoint.

Response: 200 OK


GET /chapterpoint/{id}

Get Chapter Point by Id.

Query Parameters:

Name Type Required Description
noCache bool No Whether or not to bypass cache. Defaults to False.

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


GET /chapterpoint/

Get Chapter Points, filtered by query parameters.

Query Parameters:

Name Type Required Description
eventId Guid No Event Id to refine to.
referenceId String No A value to search for in ChapterPoint ReferenceId's (uses a contains comparison).
startTime ISO8601 String No DateTime in ISO8601 format to filter from.
endTime ISO8601 String No DateTime in ISO8601 format to filter to.
tag String A value to search for in ChapterPoint Tags (uses a contains comparison).
noCache bool No Whether or not to bypass cache. Defaults to False.
buildTree bool No Whether or not to returns the data as a tree structure. Defaults to False.

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:

Name Type Required Description
noCache bool No Whether or not to bypass cache. Defaults to False.
buildTree bool No Whether or not to returns the data as a tree structure. Defaults to False.

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:

Name Type Required Description
noCache bool No Whether or not to bypass cache. Defaults to False.
buildTree bool No Whether or not to returns the data as a tree structure. Defaults to False.

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:

Name Type Required Description
noCache bool No Whether or not to bypass cache. Defaults to False.
buildTree bool No Whether or not to returns the data as a tree structure. Defaults to False.

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:

Name Type Required Description
tag String Yes Tag to filter to.

Response: 200 OK


DEL /chapterpoint/clearcache/{eventId}

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

Query Parameters:

Name Type Required Description
eventId Guid No The Event Id to clear related cache for. Defaults to clearing all ChapterPoint cache.

Response: 410 Gone