Trendsic Platform Service

<back to all web services

GetWorkspaceModulesRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/workspace/modules
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 ModuleLimit:
    meter_key: Optional[str] = None
    used: Optional[int] = None
    allowance: Optional[int] = None
    is_reached: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WorkspaceModuleFeature:
    key: Optional[str] = None
    name: Optional[str] = None
    enabled: bool = False
    in_pack: bool = False
    group: Optional[str] = None
    description: Optional[str] = None
    is_on: bool = False
    entitled: bool = False
    reason: Optional[str] = None
    module_key: Optional[str] = None
    module_name: Optional[str] = None
    module_status: Optional[str] = None
    module_expires_at: Optional[datetime.datetime] = None
    limit: Optional[ModuleLimit] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WorkspaceModule:
    key: Optional[str] = None
    name: Optional[str] = None
    letter: Optional[str] = None
    color: Optional[str] = None
    question: Optional[str] = None
    description: Optional[str] = None
    features: List[WorkspaceModuleFeature] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WorkspaceRequestMark:
    kind: Optional[str] = None
    key: Optional[str] = None
    features: List[str] = field(default_factory=list)
    requested_at: datetime.datetime = datetime.datetime(1, 1, 1)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WorkspaceModulesResponse:
    modules: List[WorkspaceModule] = field(default_factory=list)
    pack_name: Optional[str] = None
    requests: List[WorkspaceRequestMark] = field(default_factory=list)
    response_status: Optional[ResponseStatus] = None


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

Python GetWorkspaceModulesRequest DTOs

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

HTTP + OTHER

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

GET /v1/workspace/modules HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Modules":[{"Key":"String","Name":"String","Letter":"String","Color":"String","Question":"String","Description":"String","Features":[{"Key":"String","Name":"String","Enabled":false,"InPack":false,"Group":"String","Description":"String","IsOn":false,"Entitled":false,"Reason":"String","ModuleKey":"String","ModuleName":"String","ModuleStatus":"String","ModuleExpiresAt":"0001-01-01T00:00:00.0000000","Limit":{"MeterKey":"String","Used":0,"Allowance":0,"IsReached":true}}]}],"PackName":"String","Requests":[{"Kind":"String","Key":"String","Features":["String"],"RequestedAt":"0001-01-01T00:00:00.0000000"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}