Trendsic Platform Service

<back to all web services

PlanSetReprocessRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/plansets/{PlanSetUID}/reprocess
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 SheetPin:
    sheet_pin_i_d: int = 0
    sheet_i_d: int = 0
    entity_type: Optional[str] = None
    entity_i_d: Optional[int] = None
    entity_u_i_d: Optional[str] = None
    x: float = 0.0
    y: float = 0.0
    label: Optional[str] = None
    created_by: Optional[str] = None
    created_at: Optional[datetime.datetime] = None
    entity_no: Optional[str] = None
    entity_title: Optional[str] = None
    entity_status: Optional[str] = None
    inspection_u_i_d: Optional[str] = None
    sheet_number: Optional[str] = None
    sheet_title: Optional[str] = None
    plan_set_i_d: Optional[int] = None
    plan_set_u_i_d: Optional[str] = None
    plan_set_name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Sheet:
    sheet_i_d: int = 0
    plan_set_i_d: int = 0
    plan_set_u_i_d: Optional[str] = None
    plan_set_name: Optional[str] = None
    project_i_d: int = 0
    page_index: int = 0
    attachment_id: Optional[str] = None
    version_no: int = 0
    sheet_number: Optional[str] = None
    sheet_key: Optional[str] = None
    title: Optional[str] = None
    discipline: Optional[str] = None
    revision: Optional[str] = None
    revision_date: Optional[datetime.datetime] = None
    width_pt: float = 0.0
    height_pt: float = 0.0
    thumb_key: Optional[str] = None
    thumb_url: Optional[str] = None
    thumb_hash: Optional[str] = None
    extract_source: Optional[str] = None
    confidence: Optional[float] = None
    change_kind: Optional[str] = None
    supersedes_sheet_i_d: Optional[int] = None
    is_current: bool = False
    pin_count: int = 0
    updated_by: Optional[str] = None
    updated_at: Optional[datetime.datetime] = None
    pins: List[SheetPin] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PlanSet:
    plan_set_i_d: int = 0
    plan_set_u_i_d: Optional[str] = None
    project_i_d: int = 0
    name: Optional[str] = None
    source: Optional[str] = None
    source_label: Optional[str] = None
    issued_date: Optional[datetime.datetime] = None
    attachment_id: Optional[str] = None
    attachment_name: Optional[str] = None
    file_size_in_k_b: Optional[float] = None
    version_no: int = 0
    status: Optional[str] = None
    progress: int = 0
    page_count: int = 0
    sheet_count: int = 0
    extract_mode: Optional[str] = None
    error_text: Optional[str] = None
    supersedes_plan_set_i_d: Optional[int] = None
    supersedes_name: Optional[str] = None
    is_current: bool = False
    created_by: Optional[str] = None
    created_at: Optional[datetime.datetime] = None
    processed_at: Optional[datetime.datetime] = None
    age_seconds: int = 0
    sheets: List[Sheet] = field(default_factory=list)
    headline: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PlanSetResponse:
    response_status: Optional[ResponseStatus] = None
    plan_set: Optional[PlanSet] = None
    removed_sheets: List[Sheet] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PlanSetReprocessRequest:
    plan_set_u_i_d: Optional[str] = None
    extract_mode: Optional[str] = None

Python PlanSetReprocessRequest 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/plansets/{PlanSetUID}/reprocess HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	PlanSetUID: 00000000000000000000000000000000,
	ExtractMode: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	PlanSet: 
	{
		PlanSetID: 0,
		PlanSetUID: 00000000000000000000000000000000,
		ProjectID: 0,
		Name: String,
		Source: String,
		SourceLabel: String,
		IssuedDate: 0001-01-01,
		AttachmentId: 00000000000000000000000000000000,
		AttachmentName: String,
		FileSizeInKB: 0,
		VersionNo: 0,
		Status: String,
		Progress: 0,
		PageCount: 0,
		SheetCount: 0,
		ExtractMode: String,
		ErrorText: String,
		SupersedesPlanSetID: 0,
		SupersedesName: String,
		IsCurrent: False,
		CreatedBy: String,
		CreatedAt: 0001-01-01,
		ProcessedAt: 0001-01-01,
		AgeSeconds: 0,
		Sheets: 
		[
			{
				SheetID: 0,
				PlanSetID: 0,
				PlanSetUID: 00000000000000000000000000000000,
				PlanSetName: String,
				ProjectID: 0,
				PageIndex: 0,
				AttachmentId: 00000000000000000000000000000000,
				VersionNo: 0,
				SheetNumber: String,
				SheetKey: String,
				Title: String,
				Discipline: String,
				Revision: String,
				RevisionDate: 0001-01-01,
				WidthPt: 0,
				HeightPt: 0,
				ThumbKey: String,
				ThumbUrl: String,
				ThumbHash: String,
				ExtractSource: String,
				Confidence: 0,
				ChangeKind: String,
				SupersedesSheetID: 0,
				IsCurrent: False,
				PinCount: 0,
				UpdatedBy: String,
				UpdatedAt: 0001-01-01,
				Pins: 
				[
					{
						SheetPinID: 0,
						SheetID: 0,
						EntityType: String,
						EntityID: 0,
						EntityUID: 00000000000000000000000000000000,
						X: 0,
						Y: 0,
						Label: String,
						CreatedBy: String,
						CreatedAt: 0001-01-01,
						EntityNo: String,
						EntityTitle: String,
						EntityStatus: String,
						InspectionUID: 00000000000000000000000000000000,
						SheetNumber: String,
						SheetTitle: String,
						PlanSetID: 0,
						PlanSetUID: 00000000000000000000000000000000,
						PlanSetName: String
					}
				]
			}
		],
		Headline: String
	},
	RemovedSheets: 
	[
		{
			SheetID: 0,
			PlanSetID: 0,
			PlanSetUID: 00000000000000000000000000000000,
			PlanSetName: String,
			ProjectID: 0,
			PageIndex: 0,
			AttachmentId: 00000000000000000000000000000000,
			VersionNo: 0,
			SheetNumber: String,
			SheetKey: String,
			Title: String,
			Discipline: String,
			Revision: String,
			RevisionDate: 0001-01-01,
			WidthPt: 0,
			HeightPt: 0,
			ThumbKey: String,
			ThumbUrl: String,
			ThumbHash: String,
			ExtractSource: String,
			Confidence: 0,
			ChangeKind: String,
			SupersedesSheetID: 0,
			IsCurrent: False,
			PinCount: 0,
			UpdatedBy: String,
			UpdatedAt: 0001-01-01,
			Pins: 
			[
				{
					SheetPinID: 0,
					SheetID: 0,
					EntityType: String,
					EntityID: 0,
					EntityUID: 00000000000000000000000000000000,
					X: 0,
					Y: 0,
					Label: String,
					CreatedBy: String,
					CreatedAt: 0001-01-01,
					EntityNo: String,
					EntityTitle: String,
					EntityStatus: String,
					InspectionUID: 00000000000000000000000000000000,
					SheetNumber: String,
					SheetTitle: String,
					PlanSetID: 0,
					PlanSetUID: 00000000000000000000000000000000,
					PlanSetName: String
				}
			]
		}
	]
}