Printago API
POST
/v1/materials/profiles/copy
Copy material profiles
Copy one material's slicing profiles onto others of the same filament type Every printer model and nozzle the source material has a profile for is written onto each target. A profile a target's printer model cannot use is skipped and named back, and a model the target already has a profile for is left alone unless `replaceExisting` is set. A target the write fails for is named in `failed`, and the other targets still get their profiles.
Request Body
The source material, the materials to copy onto, and whether to overwrite
CopyMaterialProfilesRequest
fromMaterialIdrequired
string
The material whose profile assignments are read.
pattern: ^[a-z0-9]{24}$
replaceExistingoptional
boolean
Overwrite a printer model that already has a profile.
toMaterialIdsrequired
string[]
The materials the assignments are written onto.
Example Request
application/json
{
"fromMaterialId": "string",
"toMaterialIds": [
"string"
],
"replaceExisting": true
}
Response Schema
CopyMaterialProfilesResponse
failedrequired
object[]
materialIdrequired
string
pattern: ^[a-z0-9]{24}$
messagerequired
string
What went wrong, in a sentence a person can read.
resultsrequired
object[]
keptrequired
object[]
modelIdrequired
string
nozzleDiameterrequired
string
materialIdrequired
string
pattern: ^[a-z0-9]{24}$
replacedrequired
object[]
modelIdrequired
string
nozzleDiameterrequired
string
setrequired
object[]
modelIdrequired
string
nozzleDiameterrequired
string
profileNamerequired
string
systemProfileIdrequirednullable
number
userProfileIdrequirednullable
string
skippedrequired
object[]
modelIdrequired
string
nozzleDiameterrequired
string
reasonrequired
"incompatible" | "profile_missing"
incompatibleprofile_missing
sourceAssignmentsrequired
number
How many printer model and nozzle pairs the source has a profile for.
Example Response
201 OK — application/json
{
"sourceAssignments": 1,
"results": [
{
"materialId": "string",
"set": [
{
"modelId": "string",
"nozzleDiameter": "string",
"userProfileId": "string",
"systemProfileId": 1,
"profileName": "string"
}
],
"replaced": [
{
"modelId": "string",
"nozzleDiameter": "string"
}
],
"kept": [
{
"modelId": "string",
"nozzleDiameter": "string"
}
],
"skipped": [
{
"modelId": "string",
"nozzleDiameter": "string",
"reason": "incompatible"
}
]
}
],
"failed": [
{
"materialId": "string",
"message": "string"
}
]
}