Bulk JSON import
Validate then commit an array of figures into the new ToyHub catalog schema.
JSON template
Paste a JSON array of figure entries, or an object with entries plus optional defaults. Each entry matches CreateToyHubFigureRequest.
- Hierarchy: exactly one of franchiseId or newFranchise; same for line (lineId / newLine) and group (groupId / newGroup).
- Optional top-level defaults.franchiseId / defaults.lineId fill onto rows that omit both the id and the matching newX object (form fields below do the same).
- Inline create: the first row that introduces a franchise/line/group uses newFranchise / newLine / newGroup. Later rows that need the same entity are rewritten to franchiseId / lineId / groupId during Validate.
- Prices are integer cents (retailPrice, averagePrice, highPrice, lowPrice, numberSold). Required figure fields: figureName, year.
{
"defaults": { "franchiseId": "action-force", "lineId": "action-force-figures" },
"entries": [
{
"franchiseId": "action-force",
"lineId": "action-force-figures",
"groupId": "action-force-figures-wave-1",
"figureName": "Example Figure",
"year": 2024,
"wave": "1",
"retailPrice": 2499,
"averagePrice": 3200,
"numberSold": 12,
"pricingSource": "sold-comps"
},
{
"newFranchise": { "franchiseId": "op-monster-force", "name": "Operation Monster Force" },
"newLine": {
"lineId": "op-monster-force-figures",
"name": "Figures",
"manufacturer": "Example Co"
},
"newGroup": { "label": "Wave 1", "groupType": "wave" },
"figureName": "First In Batch",
"year": 2025,
"retailPrice": 2999
}
]
} Input
Validate summary
Validate results
| Index | Status | Figure | Figure ID | Hierarchy | Errors | Warnings |
|---|
Commit results
| Index | Status | Figure ID | Error |
|---|