{
  "$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-nfgas-request-schema.json",
  "title": "post_api_v1_nfgasRequest",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": [
    "app/app/Modules/Fiscal/Nfgas/Http/Controllers/NfgasController.php:19"
  ],
  "type": "object",
  "properties": {
    "ide": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "cUF": {
          "x-laravel-rules": [
            "required",
            "integer"
          ],
          "type": "integer"
        },
        "dhEmi": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "serie": {
          "x-laravel-rules": [
            "sometimes",
            "integer"
          ],
          "type": "integer"
        },
        "cMunFG": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        }
      },
      "required": [
        "cUF",
        "dhEmi",
        "cMunFG"
      ]
    },
    "emit": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "CNPJ": {
          "x-laravel-rules": [
            "required",
            "string",
            "size:14"
          ],
          "type": "string",
          "minLength": 14,
          "maxLength": 14
        },
        "IE": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "xNome": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "enderEmit": {
          "x-laravel-rules": [
            "required",
            "array"
          ],
          "type": "object",
          "properties": {
            "xLgr": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "nro": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "xBairro": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "cMun": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "xMun": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "UF": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "CEP": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            }
          },
          "required": [
            "xLgr",
            "nro",
            "xBairro",
            "cMun",
            "xMun",
            "UF",
            "CEP"
          ]
        }
      },
      "required": [
        "CNPJ",
        "IE",
        "xNome",
        "enderEmit"
      ]
    },
    "dest": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "CNPJ": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "xNome": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "enderDest": {
          "x-laravel-rules": [
            "required",
            "array"
          ],
          "type": "object",
          "properties": {
            "xLgr": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "nro": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "xBairro": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "cMun": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "xMun": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "UF": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            },
            "CEP": {
              "x-laravel-rules": [
                "required",
                "string"
              ],
              "type": "string"
            }
          },
          "required": [
            "xLgr",
            "nro",
            "xBairro",
            "cMun",
            "xMun",
            "UF",
            "CEP"
          ]
        }
      },
      "required": [
        "CNPJ",
        "xNome",
        "enderDest"
      ]
    },
    "prod": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "cProd": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "xProd": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "cClass": {
          "x-laravel-rules": [
            "required",
            "string"
          ],
          "type": "string"
        },
        "qFaturada": {
          "x-laravel-rules": [
            "required",
            "numeric"
          ],
          "type": "number"
        },
        "vItem": {
          "x-laravel-rules": [
            "required",
            "numeric"
          ],
          "type": "number"
        },
        "vProd": {
          "x-laravel-rules": [
            "required",
            "numeric"
          ],
          "type": "number"
        }
      },
      "required": [
        "cProd",
        "xProd",
        "cClass",
        "qFaturada",
        "vItem",
        "vProd"
      ]
    },
    "total": {
      "x-laravel-rules": [
        "required",
        "array"
      ],
      "type": "object",
      "properties": {
        "vProd": {
          "x-laravel-rules": [
            "required",
            "numeric"
          ],
          "type": "number"
        },
        "vNF": {
          "x-laravel-rules": [
            "required",
            "numeric"
          ],
          "type": "number"
        }
      },
      "required": [
        "vProd",
        "vNF"
      ]
    }
  },
  "required": [
    "ide",
    "emit",
    "dest",
    "prod",
    "total"
  ]
}