| POST | /api/tags/link/{ObjectId} |
|---|
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 TagModel:
# @ApiMember(Description="Id of the tag", ParameterType="query")
id: Optional[str] = None
"""
Id of the tag
"""
# @ApiMember(Description="Tag name", ParameterType="query")
name: Optional[str] = None
"""
Tag name
"""
# @ApiMember(Description="RmsTableCtx Id that represents the type of object the tag an be linked to", ParameterType="query")
rms_table_ctx_id: Optional[str] = None
"""
RmsTableCtx Id that represents the type of object the tag an be linked to
"""
# @ApiMember(Description="Owner Id to use to retrieve tags for a particular licensee", ParameterType="query")
contact_owner_id: Optional[str] = None
"""
Owner Id to use to retrieve tags for a particular licensee
"""
# @ApiMember(Description="Associated tag colour", ParameterType="query")
colour: Optional[str] = None
"""
Associated tag colour
"""
# @ApiMember(Description="Object Connection Id linking an object to the tag", ParameterType="query")
object_connection_id: Optional[str] = None
"""
Object Connection Id linking an object to the tag
"""
# @ApiResponse(Description="A list of tags")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetTagsListResponse:
# @ApiMember(Description="List of tags.", ParameterType="query")
tags: Optional[List[TagModel]] = None
"""
List of tags.
"""
response_status: Optional[ResponseStatus] = None
# @Api(Description="Link existing tag to an object. Returns the list of tags assigned to the object.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LinkTagForObject:
"""
Link existing tag to an object. Returns the list of tags assigned to the object.
"""
# @ApiMember(Description="Object Id to link the tag to.", ParameterType="query")
object_id: Optional[str] = None
"""
Object Id to link the tag to.
"""
# @ApiMember(Description="Licensee Id owner of the object.", ParameterType="query")
licensee_id: Optional[str] = None
"""
Licensee Id owner of the object.
"""
# @ApiMember(Description="Id of the tag", ParameterType="query")
id: Optional[str] = None
"""
Id of the tag
"""
# @ApiMember(Description="Associated tag colour, if this is passed we will update the existing tags colour.", ParameterType="query")
colour: Optional[str] = None
"""
Associated tag colour, if this is passed we will update the existing tags colour.
"""
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/tags/link/{ObjectId} HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Colour: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Tags:
[
{
Name: String,
Colour: String
}
],
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}