ASH.ResourceLibrary.WebApi

<back to all web services

SubTopicRequest

Requires Authentication
The following routes are available for this service:
GET/subtopicItems/{subtopicid}Use to get a specific subtopic
namespace ASH.ResourceLibrary.Interfaces.Models

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type Tag() = 
        member val Id:String = null with get,set
        member val Title:String = null with get,set

    [<AllowNullLiteral>]
    type ScreenshotItem() = 
        member val LargeFilepathS3:String = null with get,set
        member val ThumbFilepathS3:String = null with get,set
        member val Order:Decimal = new Decimal() with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type ResourceCard() = 
        member val Id:String = null with get,set
        member val Title:String = null with get,set
        member val Description:String = null with get,set
        member val DescriptionSummary:String = null with get,set
        member val Type:String = null with get,set
        member val Content:String = null with get,set
        member val IsComplete:Boolean = new Boolean() with get,set
        member val IsFavorite:Boolean = new Boolean() with get,set
        member val IsImplicitlyComplete:Boolean = new Boolean() with get,set
        member val MediaPath:String = null with get,set
        member val IsConfirmable:Boolean = new Boolean() with get,set
        member val IsWcagCompliant:Boolean = new Boolean() with get,set
        member val Duration:String = null with get,set
        member val Preview:String = null with get,set
        member val Calories:Int32 = new Int32() with get,set
        member val Instructor:String = null with get,set
        member val Thumbnail:String = null with get,set
        member val Difficulty:String = null with get,set
        member val Tags:ResizeArray<Tag> = new ResizeArray<Tag>() with get,set
        member val Subtitles:String = null with get,set
        member val Screenshots:ResizeArray<ScreenshotItem> = new ResizeArray<ScreenshotItem>() with get,set
        member val DrmEncrypted:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type Category() = 
        member val Id:String = null with get,set
        member val SubtopicItems:ICollection<SubTopic> = null with get,set
        member val ResourceItems:ICollection<ResourceItem> = null with get,set
        member val Title:String = null with get,set
        member val IsVisible:String = null with get,set
        member val ResourceCount:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type ActivityItem() = 
        member val Name:String = null with get,set
        member val Id:String = null with get,set

    [<AllowNullLiteral>]
    type SeriesItem() = 
        member val Id:String = null with get,set
        member val Title:String = null with get,set

    [<AllowNullLiteral>]
    type AltMediaPaths() = 
        member val Webm:String = null with get,set
        member val Ogv:String = null with get,set
        member val Mp4Low:String = null with get,set
        member val Mp4High:String = null with get,set

    [<AllowNullLiteral>]
    type ResourceItem() = 
        inherit ResourceCard()
        member val Content:String = null with get,set
        member val Credit:String = null with get,set
        member val References:String = null with get,set
        member val Disclaimer:String = null with get,set
        member val HeaderImage:String = null with get,set
        member val Origin:String = null with get,set
        member val OriginId:String = null with get,set
        member val Tags:ResizeArray<Tag> = new ResizeArray<Tag>() with get,set
        member val Categories:ResizeArray<Category> = new ResizeArray<Category>() with get,set
        member val Index:Int32 = new Int32() with get,set
        member val ActivityLevel:String = null with get,set
        member val ActivityDetails:String = null with get,set
        member val Transcript:String = null with get,set
        member val IsArchived:Boolean = new Boolean() with get,set
        member val Activities:ResizeArray<ActivityItem> = new ResizeArray<ActivityItem>() with get,set
        member val SeriesItems:ResizeArray<SeriesItem> = new ResizeArray<SeriesItem>() with get,set
        member val VideoId:String = null with get,set
        member val Focus:String = null with get,set
        member val Series:String = null with get,set
        member val SeriesUrl:String = null with get,set
        member val Category:String = null with get,set
        member val Equipments:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val DurationRange:String = null with get,set
        member val ProviderName:String = null with get,set
        member val UploadDate:String = null with get,set
        member val CompletionDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Level:String = null with get,set
        member val BodyFocus:String = null with get,set
        member val AltMediaPaths:AltMediaPaths = null with get,set
        member val Subtitles:String = null with get,set
        member val DrmEncrypted:Boolean = new Boolean() with get,set
        member val Screenshots:ResizeArray<ScreenshotItem> = new ResizeArray<ScreenshotItem>() with get,set

    [<AllowNullLiteral>]
    type SubTopic() = 
        member val Id:String = null with get,set
        member val Title:String = null with get,set
        member val ResourceCount:Int32 = new Int32() with get,set
        member val ResourceItems:ICollection<ResourceItem> = null with get,set

    [<AllowNullLiteral>]
    type BasicResourceLibraryRequest() = 
        member val ResourceLibraryMemberId:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type SubTopicRequest() = 
        inherit BasicResourceLibraryRequest()
        member val IncludeCompletionStatus:Boolean = new Boolean() with get,set
        member val SubTopicId:String = null with get,set
        member val Limit:String = null with get,set
        member val Offset:String = null with get,set
        ///<summary>
        ///Set it to true if the subtopic being requested belogs to digital fitness. Don't set it if unsure.
        ///</summary>
        [<ApiMember(Description="Set it to true if the subtopic being requested belogs to digital fitness. Don't set it if unsure.")>]
        member val DigitalFitness:Boolean = new Boolean() with get,set

F# SubTopicRequest DTOs

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

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /subtopicItems/{subtopicid} HTTP/1.1 
Host: resourcelibrary.api.ashcompanies.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SubTopic xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ASH.ResourceLibrary.Interfaces.Models">
  <_x003C_Id_x003E_k__BackingField>String</_x003C_Id_x003E_k__BackingField>
  <_x003C_ResourceCount_x003E_k__BackingField>0</_x003C_ResourceCount_x003E_k__BackingField>
  <_x003C_ResourceItems_x003E_k__BackingField i:nil="true" />
  <_x003C_Title_x003E_k__BackingField>String</_x003C_Title_x003E_k__BackingField>
</SubTopic>