Platform API

<back to all web services

SaveNewTagForObject

Add a new tag and link to an object. Returns the list of tags assigned to the object.

Requires Authentication
The following routes are available for this service:
POST/api/tags/add/{ObjectId}
namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModel

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

    [<AllowNullLiteral>]
    type TagModel() = 
        ///<summary>
        ///Id of the tag
        ///</summary>
        [<ApiMember(Description="Id of the tag", ParameterType="query")>]
        member val Id:Guid = new Guid() with get,set

        ///<summary>
        ///Tag name
        ///</summary>
        [<ApiMember(Description="Tag name", ParameterType="query")>]
        member val Name:String = null with get,set

        ///<summary>
        ///RmsTableCtx Id that represents the type of object the tag an be linked to
        ///</summary>
        [<ApiMember(Description="RmsTableCtx Id that represents the type of object the tag an be linked to", ParameterType="query")>]
        member val RmsTableCtxId:Guid = new Guid() with get,set

        ///<summary>
        ///Owner Id to use to retrieve tags for a particular licensee
        ///</summary>
        [<ApiMember(Description="Owner Id to use to retrieve tags for a particular licensee", ParameterType="query")>]
        member val ContactOwnerId:Guid = new Guid() with get,set

        ///<summary>
        ///Associated tag colour
        ///</summary>
        [<ApiMember(Description="Associated tag colour", ParameterType="query")>]
        member val Colour:String = null with get,set

        ///<summary>
        ///Object Connection Id linking an object to the tag
        ///</summary>
        [<ApiMember(Description="Object Connection Id linking an object to the tag", ParameterType="query")>]
        member val ObjectConnectionId:Guid = new Guid() with get,set

    [<ApiResponse(Description="A list of tags")>]
    [<AllowNullLiteral>]
    type GetTagsListResponse() = 
        ///<summary>
        ///List of tags.
        ///</summary>
        [<ApiMember(Description="List of tags.", ParameterType="query")>]
        member val Tags:ResizeArray<TagModel> = null with get,set

        member val ResponseStatus:ResponseStatus = null with get,set

    ///<summary>
    ///Add a new tag and link to an object. Returns the list of tags assigned to the object.
    ///</summary>
    [<Api(Description="Add a new tag and link to an object. Returns the list of tags assigned to the object.")>]
    [<AllowNullLiteral>]
    type SaveNewTagForObject() = 
        ///<summary>
        ///Object Id to retrieve tags for.
        ///</summary>
        [<ApiMember(Description="Object Id to retrieve tags for.", ParameterType="query")>]
        member val ObjectId:Guid = new Guid() with get,set

        ///<summary>
        ///Licensee Id owner of the object.
        ///</summary>
        [<ApiMember(Description="Licensee Id owner of the object.", ParameterType="query")>]
        member val LicenseeId:Guid = new Guid() with get,set

        ///<summary>
        ///Tag name
        ///</summary>
        [<ApiMember(Description="Tag name", ParameterType="query")>]
        member val Name:String = null with get,set

        ///<summary>
        ///Associated tag colour
        ///</summary>
        [<ApiMember(Description="Associated tag colour", ParameterType="query")>]
        member val Colour:String = null with get,set

        ///<summary>
        ///RmsTableCtx Id that represents the type of object the tag an be linked to
        ///</summary>
        [<ApiMember(Description="RmsTableCtx Id that represents the type of object the tag an be linked to", ParameterType="query")>]
        member val RmsTableCtxId:Guid = new Guid() with get,set

F# SaveNewTagForObject 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.

POST /api/tags/add/{ObjectId} HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Name: String,
	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
		}
	}
}