{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/foxnfe-com-br/json-schema/foxnfe-com-br-post-api-v1-mdfes-request-schema.json",
  "title": "post_api_v1_mdfesRequest",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": [
    "app/app/Modules/Fiscal/Mdfe/Http/Controllers/MdfeController.php:19"
  ],
  "type": "object",
  "properties": {
    "ide": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "cUF": {
          "x-laravel-rules": [
            "required",
            "integer"
          ],
          "type": "integer"
        },
        "tpEmit": {
          "x-laravel-rules": [
            "sometimes",
            "integer"
          ],
          "type": "integer"
        },
        "dhEmi": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "serie": {
          "x-laravel-rules": [
            "sometimes",
            "integer"
          ],
          "type": "integer"
        },
        "UFIni": {
          "x-laravel-rules": [
            "required",
            "string",
            "size:2"
          ],
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "UFFim": {
          "x-laravel-rules": [
            "required",
            "string",
            "size:2"
          ],
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        }
      },
      "required": [
        "cUF",
        "dhEmi",
        "UFIni",
        "UFFim"
      ]
    },
    "emit": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": [
        "array",
        "object"
      ],
      "items": {},
      "additionalProperties": true
    },
    "enderEmit": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": [
        "array",
        "object"
      ],
      "items": {},
      "additionalProperties": true
    },
    "infMunCarrega": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "cMunCarrega": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "xMunCarrega": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        }
      },
      "required": [
        "cMunCarrega",
        "xMunCarrega"
      ]
    },
    "infMunDescarga": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "cMunDescarga": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "xMunDescarga": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        }
      },
      "required": [
        "cMunDescarga",
        "xMunDescarga"
      ]
    },
    "infNFe": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "chNFe": {
          "x-laravel-rules": [
            "required",
            "string",
            "size:44"
          ],
          "type": "string",
          "minLength": 44,
          "maxLength": 44
        }
      },
      "required": [
        "chNFe"
      ]
    },
    "veicTracao": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "placa": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "tara": {
          "x-laravel-rules": [
            "required",
            "numeric"
          ],
          "type": "number"
        },
        "tpRod": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "tpCar": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        }
      },
      "required": [
        "placa",
        "tara",
        "tpRod",
        "tpCar"
      ]
    },
    "tot": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "vCarga": {
          "x-laravel-rules": [
            "required",
            "numeric"
          ],
          "type": "number"
        },
        "cUnid": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "qCarga": {
          "x-laravel-rules": [
            "required",
            "numeric"
          ],
          "type": "number"
        }
      },
      "required": [
        "vCarga",
        "cUnid",
        "qCarga"
      ]
    },
    "infRespTec": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "CNPJ": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "xContato": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "email": {
          "x-laravel-rules": [
            "required",
            "email"
          ],
          "type": "string",
          "format": "email"
        },
        "fone": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        }
      },
      "required": [
        "CNPJ",
        "xContato",
        "email",
        "fone"
      ]
    }
  },
  "required": [
    "ide",
    "emit",
    "enderEmit",
    "infMunCarrega",
    "infMunDescarga",
    "infNFe",
    "veicTracao",
    "tot",
    "infRespTec"
  ]
}