Category data model

Updated:

A category that parts, documents or changes are filed under

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNo
created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
namestringNo
descriptionstringNo
typeenumNoWhich records the category classifies Values: PART, DOCUMENT, CHANGE
is_activebooleanNo
parent_idstringNoThe parent PlmCategory, for nested categories
metadataPlmMetadata[]No
metadata[].idstringNoThe ID of the custom field definition (from the metadata/metadata endpoint).
metadata[].slugstringNoThe integration's API name (key) of an existing custom field.
metadata[].valueobjectNoThe field's value, typed by format.
metadata[].namespacestringNo
metadata[].formatenumNoThe data type of the custom field, which determines how value is formatted. Values: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL
metadata[].extra_dataobjectNo

TypeScript

TypeScript
export type PlmCategory = {
	id?: string;
	created_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	name?: string;
	description?: string;
	type?: 'PART' | 'DOCUMENT' | 'CHANGE'; // Which records the category classifies
	is_active?: boolean;
	parent_id?: string; // The parent PlmCategory, for nested categories
	metadata?: [];
	raw?: any; // Raw data from integration
} 

Zod

Zod
import { z } from 'zod';

export const ZodPlmCategory = z.object({
	id: z.string().optional(),
	created_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	name: z.string().optional(),
	description: z.string().optional(),
	type: z.enum("PART", "DOCUMENT", "CHANGE").optional().describe("Which records the category classifies"),
	is_active: z.boolean().optional(),
	parent_id: z.string().optional().describe("The parent PlmCategory, for nested categories"),
	metadata: z.array().optional(),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class PlmCategoryType(str, Enum):
	PART = 'PART'
	DOCUMENT = 'DOCUMENT'
	CHANGE = 'CHANGE'

@dataclasses.dataclass
class PlmCategory:
	id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	name: Optional[str]
	description: Optional[str]
	"""Which records the category classifies"""
	type: Optional[PlmCategoryType]
	is_active: Optional[bool]
	"""The parent PlmCategory, for nested categories"""
	parent_id: Optional[str]
	metadata: Optional[PropertyPlmCategoryMetadata]
Are we missing anything? Let us know
Was this page helpful?