Trendsic Platform Service

<back to all web services

FormDiscardRequest

Requires Authentication
The following routes are available for this service:
POST/v1/forms/{FormUID}/draft/discard
"use strict";
export class FormStats {
    /** @param {{Total?:number,NeedDecision?:number,Waiting?:number,Overdue?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Total;
    /** @type {number} */
    NeedDecision;
    /** @type {number} */
    Waiting;
    /** @type {number} */
    Overdue;
}
export class FormCard {
    /** @param {{FormUID?:string,Name?:string,Slug?:string,Noun?:string,NumberPrefix?:string,Description?:string,Tone?:string,Status?:string,PublishedVersionNo?:number,PublishedAt?:string,PublishedBy?:string,DraftDirty?:boolean,DraftUpdatedAt?:string,DraftUpdatedBy?:string,PackLabel?:string,SettingsJson?:string,Stats?:FormStats,Offered?:string[],CreatedBy?:string,CreatedAt?:string,UpdatedAt?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    FormUID;
    /** @type {string} */
    Name;
    /** @type {string} */
    Slug;
    /** @type {string} */
    Noun;
    /** @type {string} */
    NumberPrefix;
    /** @type {string} */
    Description;
    /** @type {string} */
    Tone;
    /** @type {string} */
    Status;
    /** @type {?number} */
    PublishedVersionNo;
    /** @type {?string} */
    PublishedAt;
    /** @type {string} */
    PublishedBy;
    /** @type {boolean} */
    DraftDirty;
    /** @type {?string} */
    DraftUpdatedAt;
    /** @type {string} */
    DraftUpdatedBy;
    /** @type {string} */
    PackLabel;
    /** @type {string} */
    SettingsJson;
    /** @type {FormStats} */
    Stats;
    /** @type {string[]} */
    Offered = [];
    /** @type {string} */
    CreatedBy;
    /** @type {?string} */
    CreatedAt;
    /** @type {?string} */
    UpdatedAt;
}
export class FormDetail extends FormCard {
    /** @param {{DraftJson?:string,DraftRev?:number,SourceTemplateUID?:string,Warnings?:string[],AlwaysHidden?:string[],FormUID?:string,Name?:string,Slug?:string,Noun?:string,NumberPrefix?:string,Description?:string,Tone?:string,Status?:string,PublishedVersionNo?:number,PublishedAt?:string,PublishedBy?:string,DraftDirty?:boolean,DraftUpdatedAt?:string,DraftUpdatedBy?:string,PackLabel?:string,SettingsJson?:string,Stats?:FormStats,Offered?:string[],CreatedBy?:string,CreatedAt?:string,UpdatedAt?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    DraftJson;
    /** @type {number} */
    DraftRev;
    /** @type {?string} */
    SourceTemplateUID;
    /** @type {string[]} */
    Warnings = [];
    /** @type {string[]} */
    AlwaysHidden = [];
}
export class FormResponse {
    /** @param {{Form?:FormDetail,ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {FormDetail} */
    Form;
    /** @type {ResponseStatus} */
    ResponseStatus;
}
export class FormDiscardRequest {
    /** @param {{FormUID?:string,DraftRev?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    FormUID;
    /** @type {number} */
    DraftRev;
}

JavaScript FormDiscardRequest 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 /v1/forms/{FormUID}/draft/discard HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	FormUID: 00000000000000000000000000000000,
	DraftRev: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Form: 
	{
		DraftJson: String,
		DraftRev: 0,
		SourceTemplateUID: 00000000000000000000000000000000,
		Warnings: 
		[
			String
		],
		AlwaysHidden: 
		[
			String
		],
		FormUID: 00000000000000000000000000000000,
		Name: String,
		Slug: String,
		Noun: String,
		NumberPrefix: String,
		Description: String,
		Tone: String,
		Status: String,
		PublishedVersionNo: 0,
		PublishedAt: 0001-01-01,
		PublishedBy: String,
		DraftDirty: False,
		DraftUpdatedAt: 0001-01-01,
		DraftUpdatedBy: String,
		PackLabel: String,
		SettingsJson: String,
		Stats: 
		{
			Total: 0,
			NeedDecision: 0,
			Waiting: 0,
			Overdue: 0
		},
		Offered: 
		[
			String
		],
		CreatedBy: String,
		CreatedAt: 0001-01-01,
		UpdatedAt: 0001-01-01
	},
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}