# Create storage collection

Source: https://holofolder.com/app/docs/reference/collection/create-storage-collection

POST https://app.holofolder.com/app/api/v1/storage/collections

OpenAPI operation (parameters, authentication, request body and responses):

```json
{
  "operationId": "create_storage_collection",
  "summary": "Create storage collection",
  "description": " Migration 093 adds committed terminal noncommit proofs: REST 409 storage_creation_rejected or storage_import_rejected, MCP isError with strict error.rejection (outcome, original operationId, known code, inventoryRevision). Exact accepted/rejected replay is permanent and precedes mutable reconstruction after current authority checks. Arbitrary conflicts, billing, cancellation, failed COMMIT and network errors remain unknown. Consumers must bind the trusted response to the original family, immutable intent and owner/session scope; proof alone never authorizes discard. Fresh complete current reads and explicit reconciliation are a separate consumer gate. MCP outputSchema describes accepted receipts only; holofolder.com/errorSchemas declares errors. Atomically create native storage from an ordered copied manifest, never a legacy create-then-edit. Migration 101 additionally accepts manifest.setScope, the exact reviewed language, verified finishes, promos, exclusions, coverage warnings and capture time. This is an independent copied initial list; goals remain editable and free slots can be appended. Catalog eligibility is checked at creation, not enforced on later edits. Preserve collection/slot/operation IDs across retries. Empty goals and spacers create no ownership or wants; recoverySupported remains conservative false.\n\nRequired permissions: `collection:write`, `binders:write`. MCP tool: `create_storage_collection`.",
  "tags": [
    "Collection"
  ],
  "security": [
    {
      "apiKey": []
    }
  ],
  "parameters": [],
  "x-max-body-bytes": 2097152,
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "version": {
              "type": "number",
              "const": 1
            },
            "operationId": {
              "type": "string",
              "minLength": 8,
              "maxLength": 100
            },
            "inventoryRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "collectionId": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            },
            "kind": {
              "type": "string",
              "enum": [
                "binder",
                "slab",
                "custom"
              ]
            },
            "defaultPresentation": {
              "type": "string",
              "enum": [
                "binder",
                "slabs",
                "list"
              ]
            },
            "location": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "grid": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "rows": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 8
                    },
                    "cols": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 8
                    }
                  },
                  "required": [
                    "rows",
                    "cols"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "manifest": {
              "type": "object",
              "properties": {
                "source": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "version": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    }
                  },
                  "required": [
                    "id",
                    "version"
                  ],
                  "additionalProperties": false
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "entries": {
                  "maxItems": 4096,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      "target": {
                        "anyOf": [
                          {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "pokemon"
                                  },
                                  "pokemonId": {
                                    "type": "integer",
                                    "minimum": 1,
                                    "maximum": 9007199254740991
                                  }
                                },
                                "required": [
                                  "kind",
                                  "pokemonId"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "card"
                                  },
                                  "cardId": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 200
                                  },
                                  "language": {
                                    "type": "string",
                                    "enum": [
                                      "en",
                                      "fr",
                                      "de",
                                      "es",
                                      "it",
                                      "pt-br",
                                      "ja",
                                      "ko"
                                    ]
                                  },
                                  "finish": {
                                    "type": "string",
                                    "enum": [
                                      "normal",
                                      "holo",
                                      "reverse_holo",
                                      "double_rare",
                                      "ultra_rare",
                                      "illustration_rare",
                                      "special_illustration_rare",
                                      "secret_rare",
                                      "hyper_rare",
                                      "radiant_rare",
                                      "ace_spec",
                                      "amazing_rare",
                                      "shiny_rare",
                                      "jumbo"
                                    ]
                                  }
                                },
                                "required": [
                                  "kind",
                                  "cardId"
                                ],
                                "additionalProperties": false
                              }
                            ]
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "target"
                    ],
                    "additionalProperties": false
                  }
                },
                "setScope": {
                  "type": "object",
                  "properties": {
                    "setId": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "setName": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "language": {
                      "type": "string",
                      "enum": [
                        "en",
                        "fr",
                        "de",
                        "es",
                        "it",
                        "pt-br",
                        "ja",
                        "ko"
                      ]
                    },
                    "finishes": {
                      "maxItems": 4,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "normal",
                          "holo",
                          "reverse_holo",
                          "jumbo"
                        ]
                      }
                    },
                    "capturedAt": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "officialCardCount": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "cards": {
                      "maxItems": 4096,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "cardId": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          "setId": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          "localId": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          "languageConfirmed": {
                            "type": "boolean"
                          },
                          "verifiedFinishes": {
                            "maxItems": 4,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "enum": [
                                "normal",
                                "holo",
                                "reverse_holo",
                                "jumbo"
                              ]
                            }
                          }
                        },
                        "required": [
                          "cardId",
                          "setId",
                          "localId",
                          "name",
                          "languageConfirmed",
                          "verifiedFinishes"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "promoCardIds": {
                      "maxItems": 4096,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      }
                    },
                    "excludedCardIds": {
                      "maxItems": 4096,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      }
                    },
                    "warnings": {
                      "maxItems": 10,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "maxLength": 1000
                      }
                    }
                  },
                  "required": [
                    "setId",
                    "setName",
                    "language",
                    "finishes",
                    "capturedAt",
                    "officialCardCount",
                    "cards",
                    "promoCardIds",
                    "excludedCardIds",
                    "warnings"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "source",
                "name",
                "entries"
              ],
              "additionalProperties": false
            },
            "slotIds": {
              "maxItems": 4096,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              }
            }
          },
          "required": [
            "version",
            "operationId",
            "inventoryRevision",
            "collectionId",
            "name",
            "kind",
            "defaultPresentation",
            "location",
            "grid",
            "manifest",
            "slotIds"
          ],
          "additionalProperties": false
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Success",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "inventoryRevision": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "changed": {
                "type": "boolean",
                "const": true
              },
              "collectionId": {
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "collectionVersion": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "layoutRevision": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "slotIds": {
                "maxItems": 4096,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                }
              },
              "recoverySupported": {
                "type": "boolean",
                "const": false
              }
            },
            "required": [
              "inventoryRevision",
              "changed",
              "collectionId",
              "collectionVersion",
              "layoutRevision",
              "slotIds",
              "recoverySupported"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "See the API conventions page.",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message",
                  "requestId"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "error"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "See the API conventions page.",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message",
                  "requestId"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "error"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "402": {
      "description": "See the API conventions page.",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message",
                  "requestId"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "error"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "See the API conventions page.",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message",
                  "requestId"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "error"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "See the API conventions page.",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message",
                  "requestId"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "error"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "Only the bound terminal ledger rejection carries proof; ordinary conflicts do not.",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "error": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      },
                      "requestId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "code",
                      "message",
                      "requestId"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "error"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "error": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "const": "storage_creation_rejected"
                      },
                      "message": {
                        "type": "string",
                        "const": "The original creation did not commit. Read current storage before explicit reconciliation."
                      },
                      "requestId": {
                        "type": "string"
                      },
                      "rejection": {
                        "type": "object",
                        "properties": {
                          "outcome": {
                            "type": "string",
                            "const": "rejected"
                          },
                          "operationId": {
                            "type": "string",
                            "minLength": 8,
                            "maxLength": 100
                          },
                          "code": {
                            "type": "string",
                            "enum": [
                              "inventory_revision_conflict",
                              "creation_identity_conflict"
                            ]
                          },
                          "inventoryRevision": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 9007199254740991
                          }
                        },
                        "required": [
                          "outcome",
                          "operationId",
                          "code",
                          "inventoryRevision"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "code",
                      "message",
                      "requestId",
                      "rejection"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "error"
                ],
                "additionalProperties": false
              }
            ]
          }
        }
      }
    },
    "413": {
      "description": "See the API conventions page.",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message",
                  "requestId"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "error"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "See the API conventions page.",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message",
                  "requestId"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "error"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "See the API conventions page.",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message",
                  "requestId"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "error"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "503": {
      "description": "See the API conventions page.",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message",
                  "requestId"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "error"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}
```
