{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fillo-so/json-schema/fillo-so-form-storage-schema.json",
  "title": "FormStorage",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fillo-so-storage-api-openapi.yml#/components/schemas/FormStorage",
  "type": "object",
  "required": [
    "destination",
    "storage",
    "resolved"
  ],
  "properties": {
    "destination": {
      "type": "string",
      "enum": [
        "gdrive",
        "box",
        "s3",
        "r2",
        "none"
      ],
      "description": "The destination pinned on the form. `none` means the form follows the workspace default."
    },
    "storage": {
      "type": [
        "object",
        "null"
      ],
      "description": "The stored destination record: provider (gdrive, box, or s3), an optional r2 variant, and any selected Drive folder."
    },
    "resolved": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "gdrive",
        "s3",
        "box",
        "transit",
        null
      ],
      "description": "Where an upload would actually land right now — including Fillo's short-lived transit staging. null means uploads are blocked."
    }
  }
}