GET | /topics/{topicid} | Use to get Resource Library Topic |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class TopicRequest : BasicResourceLibraryRequest()
{
var includeCompletionStatus:Boolean? = null
var limit:String? = null
var offset:String? = null
var topicId:String? = null
var isMobile:Boolean? = null
/**
* Set it to true if the topic being requested belogs to digital fitness. Don't set it if unsure.
*/
@ApiMember(Description="Set it to true if the topic 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 TopicResponse
{
var topic:TopicLite? = null
}
open class TopicLite
{
var id:String? = null
var subtopicItems:ArrayList<SubtopicLite> = ArrayList<SubtopicLite>()
var resourceItems:ArrayList<ResourceCard> = ArrayList<ResourceCard>()
var title:String? = null
var isVisible:String? = null
var resourceCount:Int? = null
}
open class SubtopicLite
{
var id:String? = null
var title:String? = null
var resourceCount:Int? = null
var resourceItems:ArrayList<ResourceCard> = ArrayList<ResourceCard>()
}
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
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /topics/{topicid} HTTP/1.1 Host: resourcelibrary.api.ashcompanies.com Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"topic":{"id":"String","subtopicItems":null,"resourceItems":null,"title":"String","isVisible":"String","resourceCount":0}}