{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/1factory/refs/heads/main/json-schema/1factory-part-master-schema.json", "title": "PartMaster", "description": "PartMaster schema from 1Factory API", "type": "object", "properties": { "ID": { "$ref": "#/components/schemas/ID" }, "part_number": { "$ref": "#/components/schemas/part_number" }, "rev": { "$ref": "#/components/schemas/rev" }, "description": { "type": "string", "nullable": true, "maxLength": 255, "description": "Description of the part. (Optional).", "example": "Three Lobe Shaft" }, "status": { "type": "string", "nullable": false, "enum": [ "Active", "Inactive" ], "default": "Active", "description": "Status of Part Master entry." }, "alt_part_number": { "type": "string", "nullable": true, "maxLength": 255, "description": "An alternative identifier used to identify a part, such as Drawing #, or customer / supplier part number.", "example": "DN-1234568" }, "alt_rev": { "type": "string", "nullable": true, "maxLength": 255, "description": "An alternate part revision, such as a drawing revision, or customer / supplier part revision.", "example": "B" }, "alt_part_number2": { "type": "string", "nullable": true, "maxLength": 255, "description": "A second alternative identifier used to identify a part, such as Drawing #, or customer / supplier part number.", "example": "CN-1234569" }, "alt_rev2": { "type": "string", "nullable": true, "maxLength": 255, "description": "A second alternate part revision, such as a drawing revision, or customer / supplier part revision.", "example": "C" }, "project_identifier": { "$ref": "#/components/schemas/project_identifier" }, "plan_count": { "type": "number", "nullable": false, "description": "The number of plans this Part Master is associated with.", "example": 2 }, "ncr_count": { "type": "number", "nullable": false, "description": "The number of NCRs this Part Master is associated with.", "example": 3 }, "type": { "type": "string", "description": "Identify if the part is part of a regular part, tabulated part, or the parent tabulated part", "enum": [ "Tabulated", "ToS Entry", "Standard" ] }, "parent_part_number": { "type": "string", "description": "The part number of the parent part if this part is a Table of Size entry." }, "parent_rev": { "type": "string", "description": "The part revision of the parent part if this part is a Table of Size entry." }, "cost": { "type": "number", "nullable": true, "format": "double", "description": "Cost of the part. (Optional).", "example": 3.5 }, "unit": { "type": "string", "description": "Unit used for determine part cost. (Optional)", "example": "Each" }, "is_library": { "type": "boolean", "default": false, "description": "If true, indicates the part is setup as a library for a Spec Library.", "example": false }, "is_assembly": { "type": "boolean", "default": false, "description": "If true, indicates part is an assembly." }, "is_itar": { "type": "boolean", "default": false, "description": "If true, indicates part is an ITAR part with additional controls." }, "has_ppap": { "type": "boolean", "default": false, "description": "If true, indicates part has PPAP documents." }, "component_parts": { "type": "array", "minItems": 0, "readOnly": true, "items": { "$ref": "#/components/schemas/AssemblyEntry" }, "example": [] }, "is_buy": { "type": "boolean", "default": false, "description": "If true, indicates part is bought, rather than made. (Optional)" }, "comments": { "type": "string", "nullable": true, "maxLength": 32000, "description": "Detailed comments regarding the part. (Optional)", "example": "This is a brand new part that we are prototyping." } }, "required": [ "part_number" ] }