{
    "api_version": "1",
    "documentation": {
        "url": "https://roms.danielspringer.at/api/ota.php?help=1",
        "description": "Public, read-only catalog of OTA entries from the OnePlus ROM and firmware archive.",
        "methods": [
            "GET",
            "HEAD",
            "OPTIONS"
        ],
        "filters": {
            "device": "Filter by the device label, case-insensitive.",
            "region": "Filter by the region code, case-insensitive.",
            "id": "Return the release with this ID."
        },
        "examples": {
            "all_releases": "https://roms.danielspringer.at/api/ota.php",
            "by_device": "https://roms.danielspringer.at/api/ota.php?device=OP+13",
            "by_device_and_region": "https://roms.danielspringer.at/api/ota.php?device=OP+13&region=EU",
            "by_release_id": "https://roms.danielspringer.at/api/ota.php?id=RELEASE_ID"
        },
        "notes": [
            "source_url is the URL stored in ota_config.ini.",
            "The API does not resolve redirects or generate temporary CDN links.",
            "Use + for every space in device names: OPPO FIND X8 PRO becomes OPPO+FIND+X8+PRO.",
            "Query parameter values should be URL-encoded."
        ]
    },
    "response_fields": {
        "id": "Stable identifier for this catalog entry.",
        "device": "Device label.",
        "region": "OTA region code.",
        "version": "Human-readable release version.",
        "ota_version": "OTA package version from the catalog.",
        "security_patch": "Android security patch level, when available.",
        "source_url": "Unresolved source URL stored in the catalog.",
        "changelog_url": "Release changelog URL, when available."
    }
}
