Printago API
POST /v1/materials/instances

Create material instance

Add a new spool to your inventory

Requires: material.instance.create

Request Body

Spool data with variant and remaining weight

MaterialInstanceInsert
customMetadataoptional
Record<string, any>
Construct a type with a set of properties K of type T
externalIdoptional
string
materialIdrequired
string
pattern: ^[a-z0-9]{24}$
materialTyperequired
string
remainingMaterialrequired
number
min: 0
sourceoptional
string
variantIdrequired
string
pattern: ^[a-z0-9]{24}$

Example Request

application/json
{
  "customMetadata": {},
  "materialId": "string",
  "variantId": "string",
  "materialType": "string",
  "remainingMaterial": 0
}

Response Schema

MaterialInstance
createdAtrequired
string
format: date-time
customMetadataoptional
Record<string, any>
Construct a type with a set of properties K of type T
externalIdoptional
string
idrequired
string
pattern: ^[a-z0-9]{24}$
materialIdrequired
string
pattern: ^[a-z0-9]{24}$
materialTyperequired
string
remainingMaterialrequired
number
min: 0
sourceoptional
string
storeIdrequired
string
pattern: ^[a-z0-9]{24}$
updatedAtrequired
string
format: date-time
variantIdrequired
string
pattern: ^[a-z0-9]{24}$

Example Response

201 OK — application/json
{
  "variantId": "string",
  "materialId": "string",
  "materialType": "string",
  "remainingMaterial": 0,
  "customMetadata": {},
  "id": "string",
  "storeId": "string",
  "createdAt": "2026-09-09T20:31:46.686Z",
  "updatedAt": "2026-09-09T20:31:46.686Z"
}