ASH.ResourceLibrary.WebApi

<back to all web services

TopicRequest

Requires Authentication
The following routes are available for this service:
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
}

Kotlin TopicRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + 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}}