ASH.ResourceLibrary.WebApi

<back to all web services

CategoryRequest

Requires Authentication
The following routes are available for this service:
GET/categories/{CategoryId}Use to get Resource Items for specific Category
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


open class CategoryRequest : BasicResourceLibraryRequest()
{
    var includeCompletionStatus:Boolean? = null
    var categoryId:String? = null
}

open class BasicResourceLibraryRequest
{
    var resourceLibraryMemberId:Int? = 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 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 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
}

Kotlin CategoryRequest 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 /categories/{CategoryId} HTTP/1.1 
Host: resourcelibrary.api.ashcompanies.com 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"id":"String","subtopicItems":null,"resourceItems":null,"title":"String","isVisible":"String","resourceCount":0}