Printago API
POST
/v1/sku-variants/prop-values
Create multiple property values
Set what a variant property resolves to for specific option values. Send any number of entries in values. Each one ties a property (propertyId) to an option value (optionValueId) and carries the setting that matches the property's type:
materialValueformaterialproperties: a list of material specs in order of preference, each{ "variantId" },{ "materialId" },{ "groupId" }or{ "materialType" }.textValuefortextproperties.plateQuantitiesValueforplate_quantitiesproperties: copies to print per 3MF plate, keyed by plate name as it appears in the part'smetadata.plates. Plates not listed get0.
For a property that combines options (it has bindingId2 or bindingId3), also set optionValueId2 and optionValueId3 to the values of the other options. When a build or order selects values, the entry that matches the most selected values wins. If no entry matches, a bound text parameter is set to an empty string and a material channel keeps the part's own material assignment.
Request Body
- Bulk create request with property values
BulkCreatePropertyValuesRequest
valuesrequired
object[]
materialValueoptionalnullable
object[]
optionValueIdrequired
string
Value from bindingId's option (always required)
pattern: ^[a-z0-9]{24}$
optionValueId2optionalnullable
string
Value from bindingId2's option (required if property has bindingId2)
pattern: ^[a-z0-9]{24}$
optionValueId3optionalnullable
string
Value from bindingId3's option (required if property has bindingId3)
pattern: ^[a-z0-9]{24}$
plateQuantitiesValueoptionalnullable
Record<string, number>
Construct a type with a set of properties K of type T
propertyIdrequired
string
pattern: ^[a-z0-9]{24}$
textValueoptionalnullable
string
Example Request
application/json
{
"values": [
{
"optionValueId": "string",
"optionValueId2": "string",
"optionValueId3": "string",
"propertyId": "string",
"textValue": "string",
"materialValue": [
{
"groupId": "string"
}
],
"plateQuantitiesValue": {}
}
]
}
Examples
Map two colors to filaments
Request
{
"values": [
{
"propertyId": "f1l4m7n0t3p6r9q2w5e8r1t4",
"optionValueId": "r3e7d1v5a9l2u6e0q4w8e3r7",
"materialValue": [
{
"variantId": "m6a0t4v8a2r5i9a3n7t1j2w4"
}
]
},
{
"propertyId": "f1l4m7n0t3p6r9q2w5e8r1t4",
"optionValueId": "b4l8u2e6v0a3l7u1e5q9w3e8",
"materialValue": [
{
"variantId": "m2b6l0u4e8v1a5r9i3a7n2t6"
}
]
}
]
}
Response
[
{
"id": "q8p2v6a0l4u7e1s5d9f3g7h1",
"storeId": "k3m9x2p7q8r4t6v1w5y0z3a2",
"propertyId": "f1l4m7n0t3p6r9q2w5e8r1t4",
"optionValueId": "r3e7d1v5a9l2u6e0q4w8e3r7",
"optionValueId2": null,
"optionValueId3": null,
"textValue": null,
"materialValue": [
{
"variantId": "m6a0t4v8a2r5i9a3n7t1j2w4"
}
],
"plateQuantitiesValue": null,
"createdAt": "2026-09-23T16:29:05.371Z",
"updatedAt": "2026-09-23T16:29:05.371Z"
},
{
"id": "q3w7e1r5t9y2u6i0o4p8a1s5",
"storeId": "k3m9x2p7q8r4t6v1w5y0z3a2",
"propertyId": "f1l4m7n0t3p6r9q2w5e8r1t4",
"optionValueId": "b4l8u2e6v0a3l7u1e5q9w3e8",
"optionValueId2": null,
"optionValueId3": null,
"textValue": null,
"materialValue": [
{
"variantId": "m2b6l0u4e8v1a5r9i3a7n2t6"
}
],
"plateQuantitiesValue": null,
"createdAt": "2026-09-23T16:29:05.371Z",
"updatedAt": "2026-09-23T16:29:05.371Z"
}
]
Response Schema
SkuOptionPropertyValue[]
Array of SkuOptionPropertyValue, each with:
createdAtrequired
string
format: date-time
idrequired
string
pattern: ^[a-z0-9]{24}$
materialValueoptionalnullable
object[]
optionValueIdrequired
string
pattern: ^[a-z0-9]{24}$
optionValueId2optionalnullable
string
pattern: ^[a-z0-9]{24}$
optionValueId3optionalnullable
string
pattern: ^[a-z0-9]{24}$
plateQuantitiesValueoptionalnullable
Record<string, number>
Construct a type with a set of properties K of type T
propertyIdrequired
string
pattern: ^[a-z0-9]{24}$
storeIdrequired
string
pattern: ^[a-z0-9]{24}$
textValueoptionalnullable
string
updatedAtrequired
string
format: date-time
Example Response
201 OK — application/json
[
{
"propertyId": "string",
"optionValueId": "string",
"optionValueId2": "string",
"optionValueId3": "string",
"textValue": "string",
"materialValue": [
{
"groupId": "string"
}
],
"plateQuantitiesValue": {},
"id": "string",
"storeId": "string",
"createdAt": "2025-01-15T12:00:00.000Z",
"updatedAt": "2025-01-15T12:00:00.000Z"
}
]