GET | /topics | Use to get Resource Library Topics |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class TopicsRequest : BasicResourceLibraryRequest()
{
var includeCompletionStatus:Boolean? = null
var isMobile:Boolean? = null
var includeSubtopicItems:Boolean? = null
var includeResourceItems:Boolean? = null
/**
* Set it to true if the topics being requested belogs to digital fitness. Don't set it if unsure.
*/
@ApiMember(Description="Set it to true if the topics being requested belogs to digital fitness. Don't set it if unsure.")
var digitalFitness:Boolean? = null
}
open class BasicResourceLibraryRequest
{
var resourceLibraryMemberId:Int? = null
}
open class TopicsResponse
{
var topics:ArrayList<Topic> = ArrayList<Topic>()
}
open class Topic
{
var id:String? = null
var subtopicItems:ArrayList<SubTopic> = ArrayList<SubTopic>()
var resourceItems:ArrayList<ResourceItem> = ArrayList<ResourceItem>()
var title:String? = null
var isVisible:String? = null
var resourceCount:Int? = null
}
open class SubTopic
{
var id:String? = null
var title:String? = null
var resourceCount:Int? = null
var resourceItems:ArrayList<ResourceItem> = ArrayList<ResourceItem>()
}
open class ResourceItem : ResourceCard()
{
var content:String? = null
var credit:String? = null
var references:String? = null
var disclaimer:String? = null
var headerImage:String? = null
var origin:String? = null
var originId:String? = null
var tags:ArrayList<Tag> = ArrayList<Tag>()
var categories:ArrayList<Category> = ArrayList<Category>()
var index:Int? = null
var activityLevel:String? = null
var activityDetails:String? = null
var transcript:String? = null
var isArchived:Boolean? = null
var activities:ArrayList<ActivityItem> = ArrayList<ActivityItem>()
var seriesItems:ArrayList<SeriesItem> = ArrayList<SeriesItem>()
var videoId:String? = null
var focus:String? = null
var series:String? = null
var seriesUrl:String? = null
var category:String? = null
var equipments:ArrayList<String> = ArrayList<String>()
var durationRange:String? = null
var providerName:String? = null
var uploadDate:String? = null
var completionDate:Date? = null
var level:String? = null
var bodyFocus:String? = null
var altMediaPaths:AltMediaPaths? = null
var subtitles:String? = null
var drmEncrypted:Boolean? = null
var screenshots:ArrayList<ScreenshotItem> = ArrayList<ScreenshotItem>()
}
open class ResourceCard
{
var id:String? = null
var title:String? = null
var description:String? = null
var descriptionSummary:String? = null
@SerializedName("type") var Type:String? = null
var content:String? = null
var isComplete:Boolean? = null
var isFavorite:Boolean? = null
var isImplicitlyComplete:Boolean? = null
var mediaPath:String? = null
var isConfirmable:Boolean? = null
var isWcagCompliant:Boolean? = null
var duration:String? = null
var preview:String? = null
var calories:Int? = null
var instructor:String? = null
var thumbnail:String? = null
var difficulty:String? = null
var tags:ArrayList<Tag> = ArrayList<Tag>()
var subtitles:String? = null
var screenshots:ArrayList<ScreenshotItem> = ArrayList<ScreenshotItem>()
var drmEncrypted:Boolean? = null
}
open class Tag
{
var id:String? = null
var title:String? = null
}
open class ScreenshotItem
{
var largeFilepathS3:String? = null
var thumbFilepathS3:String? = null
var order:BigDecimal? = null
var description:String? = null
}
open class Category
{
var id:String? = null
var subtopicItems:ArrayList<SubTopic> = ArrayList<SubTopic>()
var resourceItems:ArrayList<ResourceItem> = ArrayList<ResourceItem>()
var title:String? = null
var isVisible:String? = null
var resourceCount:Int? = null
}
open class ActivityItem
{
var name:String? = null
var id:String? = null
}
open class SeriesItem
{
var id:String? = null
var title:String? = null
}
open class AltMediaPaths
{
var webm:String? = null
var ogv:String? = null
var mp4Low:String? = null
var mp4High:String? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /topics HTTP/1.1 Host: resourcelibrary.api.ashcompanies.com Accept: application/xml
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <TopicsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ASH.ResourceLibrary.Interfaces.ServiceModels"> <Topics xmlns:d2p1="http://schemas.datacontract.org/2004/07/ASH.ResourceLibrary.Interfaces.Models" i:nil="true" /> </TopicsResponse>