{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/epicdirectories/json-schema/epicdirectories-update-media-asset-dto-schema.json",
  "title": "UpdateMediaAssetDto",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/epicdirectories-media-assets-api-openapi.yml#/components/schemas/UpdateMediaAssetDto",
  "type": "object",
  "properties": {
    "cdnUrl": {
      "type": "string",
      "description": "Updated CDN URL"
    },
    "variants": {
      "type": "object",
      "description": "Updated variants configuration"
    },
    "status": {
      "type": "string",
      "description": "Status (pending, processing, ready, failed)"
    },
    "alt": {
      "type": "object",
      "description": "Alt text for accessibility + image SEO. Pass empty string to clear."
    },
    "caption": {
      "type": "object",
      "description": "Caption rendered alongside the image. Pass empty string to clear."
    },
    "role": {
      "type": "string",
      "description": "Asset role on the listing — disambiguates which image is the page hero vs the brand logo vs a gallery image.",
      "enum": [
        "hero",
        "thumbnail",
        "gallery",
        "logo",
        "site_screenshot",
        "site_og"
      ]
    },
    "sortOrder": {
      "type": "number",
      "description": "Display order within a listing (ascending). 0 first."
    }
  }
}