<back to all web services

SpecificListsGetRequest

The following routes are available for this service:
PUT/RestApi/lists-api/items
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SpecificListsGetRequest:
    ids: Optional[List[str]] = None
    provider: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Status:
    text: Optional[str] = None
    primary_provider: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WcfContentLifecycleStatus:
    is_published: bool = False
    message: Optional[str] = None
    locked_by_username: Optional[str] = None
    is_admin: bool = False
    is_locked: bool = False
    is_locked_by_me: bool = False
    supports_content_lifecycle: bool = False
    error_message: Optional[str] = None
    locked_since: Optional[datetime.datetime] = None
    last_modified: Optional[datetime.datetime] = None
    last_modified_by: Optional[str] = None
    publication_date: Optional[datetime.datetime] = None
    workflow_status: Optional[str] = None
    has_live_version: bool = False


class WorkflowVisualType(str, Enum):
    BUTTON = 'Button'
    LINK = 'Link'
    LABEL = 'Label'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WorkflowVisualElement:
    title: Optional[str] = None
    operation_name: Optional[str] = None
    argument_dialog_name: Optional[str] = None
    visual_type: Optional[WorkflowVisualType] = None
    decision_type: Optional[str] = None
    persist_on_decision: bool = False
    closes_form: bool = False
    content_command_name: Optional[str] = None
    css_class: Optional[str] = None
    ordinal: int = 0
    warning_message: Optional[str] = None
    run_as_u_i_command: bool = False
    parameters: Optional[Hashtable] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WcfItemBase:
    pass


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WcfChange(WcfItemBase):
    id: Optional[str] = None
    next_version_number: int = 0
    prev_version_number: int = 0
    item_id: Optional[str] = None
    version_number: int = 0
    version: Optional[str] = None
    owner: Optional[str] = None
    comment: Optional[str] = None
    label: Optional[str] = None
    change_type: Optional[str] = None
    is_published_version: bool = False
    is_last_published_version: bool = False
    change_description: Optional[str] = None
    last_modified: datetime.datetime = datetime.datetime(1, 1, 1)
    date_created: datetime.datetime = datetime.datetime(1, 1, 1)
    created_by_user_name: Optional[str] = None
    previous_id: Optional[str] = None
    next_id: Optional[str] = None
    metadata: Optional[str] = None
    additional_info: Optional[str] = None
    culture: Optional[str] = None
    available_languages: Optional[IList[str]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WcfApprovalTrackingRecord:
    date_created: datetime.datetime = datetime.datetime(1, 1, 1)
    note: Optional[str] = None
    status: Optional[str] = None
    ui_status: Optional[str] = None
    user_name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ContentViewModelBase(ILocalizable):
    parent_url: Optional[str] = None
    is_editable: bool = False
    is_deletable: bool = False
    is_unlockable: bool = False
    ui_status: Optional[str] = None
    additional_status: Optional[Status] = None
    items_count: int = 0
    id: Optional[str] = None
    live_content_id: Optional[str] = None
    title: Optional[str] = None
    owner: Optional[str] = None
    author: Optional[str] = None
    date_created: datetime.datetime = datetime.datetime(1, 1, 1)
    date_modified: datetime.datetime = datetime.datetime(1, 1, 1)
    publication_date: datetime.datetime = datetime.datetime(1, 1, 1)
    provider_name: Optional[str] = None
    expiration_date: datetime.datetime = datetime.datetime(1, 1, 1)
    status: Optional[str] = None
    comments_count: int = 0
    lifecycle_status: Optional[WcfContentLifecycleStatus] = None
    workflow_operations: Optional[IList[WorkflowVisualElement]] = None
    version_info: Optional[WcfChange] = None
    default_page_id: Optional[str] = None
    last_approval_tracking_record: Optional[WcfApprovalTrackingRecord] = None
    version: int = 0
    available_languages: Optional[List[str]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HierarchicalContentViewModelBase(ContentViewModelBase):
    url: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ListViewModel(HierarchicalContentViewModelBase):
    list_item_count: int = 0
    last_item_date: Optional[datetime.datetime] = None


ListViewModel = TypeVar('ListViewModel')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CollectionContext(Generic[ListViewModel]):
    total_count: int = 0
    is_generic: bool = False
    context: Optional[Dict[str, str]] = None
    items: Optional[List[ListViewModel]] = None

Python SpecificListsGetRequest DTOs

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

HTTP + JSV

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

PUT /RestApi/lists-api/items HTTP/1.1 
Host: www.asg.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Ids: 
	[
		00000000-0000-0000-0000-000000000000
	],
	Provider: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	TotalCount: 0,
	IsGeneric: False,
	Items: []
}