{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/codecov/main/json-schema/codecov-file-report-schema.json",
  "title": "FileReport",
  "x-generated": "2026-10-26",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/codecov-coverage-api-openapi.yml#/components/schemas/FileReport",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "title": "file path"
    },
    "totals": {
      "allOf": [
        {
          "$ref": "#/$defs/ReportTotals"
        }
      ],
      "title": "coverage totals"
    },
    "line_coverage": {
      "type": "array",
      "items": {},
      "readOnly": true,
      "title": "line-by-line coverage values"
    },
    "commit_sha": {
      "type": "string",
      "readOnly": true,
      "title": "commit SHA of the commit for which coverage info was found"
    },
    "commit_file_url": {
      "type": "string",
      "readOnly": true,
      "title": "Codecov URL to see file coverage on commit."
    }
  },
  "required": [
    "commit_file_url",
    "commit_sha",
    "line_coverage",
    "name",
    "totals"
  ],
  "$defs": {
    "ReportTotals": {
      "type": "object",
      "properties": {
        "files": {
          "type": "integer"
        },
        "lines": {
          "type": "integer"
        },
        "hits": {
          "type": "integer"
        },
        "misses": {
          "type": "integer"
        },
        "partials": {
          "type": "integer"
        },
        "coverage": {
          "type": "number",
          "format": "double",
          "readOnly": true
        },
        "branches": {
          "type": "integer"
        },
        "methods": {
          "type": "integer"
        },
        "messages": {
          "type": "integer"
        },
        "sessions": {
          "type": "integer"
        },
        "complexity": {
          "type": "number",
          "format": "double"
        },
        "complexity_total": {
          "type": "number",
          "format": "double"
        },
        "complexity_ratio": {
          "type": "number",
          "format": "double",
          "readOnly": true
        },
        "diff": {}
      },
      "required": [
        "branches",
        "complexity",
        "complexity_ratio",
        "complexity_total",
        "coverage",
        "diff",
        "files",
        "hits",
        "lines",
        "messages",
        "methods",
        "misses",
        "partials",
        "sessions"
      ]
    }
  }
}