ASH.ResourceLibrary.WebApi

<back to all web services

CategoriesRequest

Requires Authentication
The following routes are available for this service:
GET/categoriesUse to get Resource Library Categories list
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 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 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 CategoriesResponse() = 
        member val Categories:ICollection<Category> = null with get,set

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

    [<AllowNullLiteral>]
    type CategoriesRequest() = 
        inherit BasicResourceLibraryRequest()
        member val IncludeCompletionStatus:Boolean = new Boolean() with get,set
        member val IncludeSubtopicItems:Boolean = new Boolean() with get,set
        member val IncludeResourceItems:Boolean = new Boolean() with get,set

F# CategoriesRequest 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 /categories HTTP/1.1 
Host: resourcelibrary.api.ashcompanies.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CategoriesResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ASH.ResourceLibrary.Interfaces.ServiceModels">
  <Categories xmlns:d2p1="http://schemas.datacontract.org/2004/07/ASH.ResourceLibrary.Interfaces.Models" i:nil="true" />
</CategoriesResponse>