openapi: 3.0.3
info:
  title: 'API NFSe'
  description: 'API for issuing and canceling service invoices, providing efficient and secure integration.'
  version: 1.0.0
servers:
  -
    url: 'https://devnota.com.br'
tags:
  -
    name: 'Company management'
    description: "\nAPIs for managing companies"
  -
    name: Endpoints
    description: ''
  -
    name: 'NFCe management'
    description: "\nAPIs for managing product invoices (NFCe)"
  -
    name: 'NFSe management'
    description: "\nAPIs for managing services invoices (NFSe)"
  -
    name: 'NFSe v2 management'
    description: "\nAPIs for managing services invoices (NFSe)"
  -
    name: 'NFe management'
    description: "\nAPIs for managing product invoices (NFe)"
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: 'You can retrieve your token by visiting your dashboard and clicking <b>Generate API token</b>.'
security:
  -
    default: []
paths:
  /api/companies:
    get:
      summary: ''
      operationId: getApiCompanies
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      example: 1
                    name:
                      type: string
                      example: 'Company A'
                    cnpj:
                      type: string
                      example: '12345678000100'
                    im:
                      type: string
                      example: '12345'
                example:
                  -
                    id: 1
                    name: 'Company A'
                    cnpj: '12345678000100'
                    im: '12345'
                  -
                    id: 2
                    name: 'Company B'
                    cnpj: '98765432000100'
                    im: '67890'
                  -
                    id: 3
                    name: 'Company C'
                    cnpj: '11223344000100'
                    im: '54321'
      tags:
        - 'Company management'
    post:
      summary: ''
      operationId: postApiCompanies
      description: ''
      parameters: []
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Company A'
                  cnpj: '12345678000100'
                  im: '12345'
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Company A'
                  cnpj:
                    type: string
                    example: '12345678000100'
                  im:
                    type: string
                    example: '12345'
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The name field is required. (and 1 more error)'
                  errors:
                    name:
                      - 'The name field is required.'
                    cert_file:
                      - 'The cert file field is required.'
                properties:
                  message:
                    type: string
                    example: 'The name field is required. (and 1 more error)'
                  errors:
                    type: object
                    properties:
                      name:
                        type: array
                        example:
                          - 'The name field is required.'
                        items:
                          type: string
                      cert_file:
                        type: array
                        example:
                          - 'The cert file field is required.'
                        items:
                          type: string
      tags:
        - 'Company management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the company.'
                  example: 'Acme Corporation'
                ibge_code:
                  type: string
                  description: 'The IBGE code of the city.'
                  example: '2611606'
                state_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the states table.'
                  example: quia
                fantasy_name:
                  type: string
                  description: 'The fantasy name of the company.'
                  example: Acme
                  nullable: true
                cnpj:
                  type: string
                  description: 'The CNPJ of the company. Must be 14 digits.'
                  example: '12345678000195'
                im:
                  type: number
                  description: 'The municipal registration number of the company.'
                  example: 1428873.0
                emission_types:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
              required:
                - name
                - ibge_code
                - state_id
                - cnpj
                - im
  '/api/companies/{cnpj}':
    put:
      summary: ''
      operationId: putApiCompaniesCnpj
      description: ''
      parameters: []
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Company A'
                  cnpj: '12345678000100'
                  im: '12345'
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Company A'
                  cnpj:
                    type: string
                    example: '12345678000100'
                  im:
                    type: string
                    example: '12345'
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The name field is required. (and 1 more error)'
                  errors:
                    name:
                      - 'The name field is required.'
                    cert_file:
                      - 'The cert file field is required.'
                properties:
                  message:
                    type: string
                    example: 'The name field is required. (and 1 more error)'
                  errors:
                    type: object
                    properties:
                      name:
                        type: array
                        example:
                          - 'The name field is required.'
                        items:
                          type: string
                      cert_file:
                        type: array
                        example:
                          - 'The cert file field is required.'
                        items:
                          type: string
      tags:
        - 'Company management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the company.'
                  example: 'Acme Corporation'
                ibge_code:
                  type: string
                  description: 'The IBGE code of the city.'
                  example: '2611606'
                state_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the states table.'
                  example: repellendus
                fantasy_name:
                  type: string
                  description: 'The fantasy name of the company.'
                  example: Acme
                  nullable: true
                cnpj:
                  type: string
                  description: 'The CNPJ of the company. Must be 14 digits.'
                  example: '12345678000195'
                im:
                  type: number
                  description: 'The municipal registration number of the company.'
                  example: 1428873.0
                emission_types:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
              required:
                - name
                - ibge_code
                - state_id
                - cnpj
                - im
    parameters:
      -
        in: path
        name: cnpj
        description: ''
        example: sed
        required: true
        schema:
          type: string
  '/api/companies/{cnpj}/certificate':
    post:
      summary: ''
      operationId: postApiCompaniesCnpjCertificate
      description: ''
      parameters: []
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  cert_file: 'Company A'
                  cnpj: '12345678000100'
                  im: '12345'
                properties:
                  id:
                    type: integer
                    example: 1
                  cert_file:
                    type: string
                    example: 'Company A'
                  cnpj:
                    type: string
                    example: '12345678000100'
                  im:
                    type: string
                    example: '12345'
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The cert file field is required.'
                  errors:
                    cert_file:
                      - 'The cert file field is required.'
                properties:
                  message:
                    type: string
                    example: 'The cert file field is required.'
                  errors:
                    type: object
                    properties:
                      cert_file:
                        type: array
                        example:
                          - 'The cert file field is required.'
                        items:
                          type: string
      tags:
        - 'Company management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                cert_file:
                  type: string
                  description: 'The certificate file in base64 format.'
                  example: 'MIIC... (base64 encoded certificate)'
                cert_pass:
                  type: string
                  description: 'The password for the certificate file.'
                  example: password123
              required:
                - cert_file
                - cert_pass
    parameters:
      -
        in: path
        name: cnpj
        description: ''
        example: nostrum
        required: true
        schema:
          type: string
  '/api/consultar/protocolo/{protocolo}':
    get:
      summary: ''
      operationId: getApiConsultarProtocoloProtocolo
      description: ''
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 2948
                  status: processado
                  response:
                    -
                      rps: '20'
                      link: 'https://nfse.recife.pe.gov.br/nfse.aspx?ccm=4305116&nf=5661&cod=CJJYPZEV'
                      numero: '5661'
                      data_emissao: '2025-04-14T17:47:08'
                      codigo_verificacao: CJJY-PZEV
                  xml: 'https://nfse.civis.com.br/xml/2948'
                properties:
                  protocolo:
                    type: integer
                    example: 2948
                  status:
                    type: string
                    example: processado
                  response:
                    type: array
                    example:
                      -
                        rps: '20'
                        link: 'https://nfse.recife.pe.gov.br/nfse.aspx?ccm=4305116&nf=5661&cod=CJJYPZEV'
                        numero: '5661'
                        data_emissao: '2025-04-14T17:47:08'
                        codigo_verificacao: CJJY-PZEV
                    items:
                      type: object
                      properties:
                        rps:
                          type: string
                          example: '20'
                        link:
                          type: string
                          example: 'https://nfse.recife.pe.gov.br/nfse.aspx?ccm=4305116&nf=5661&cod=CJJYPZEV'
                        numero:
                          type: string
                          example: '5661'
                        data_emissao:
                          type: string
                          example: '2025-04-14T17:47:08'
                        codigo_verificacao:
                          type: string
                          example: CJJY-PZEV
                  xml:
                    type: string
                    example: 'https://nfse.civis.com.br/xml/2948'
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: protocolo
        description: 'The protocolo.'
        example: eos
        required: true
        schema:
          type: string
  /api/nfc/gerar:
    post:
      summary: 'Generate NFe'
      operationId: generateNFe
      description: 'Create a new electronic invoice (NFe)'
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 3050
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 3050
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The notaFiscal field is required.'
                  errors:
                    notaFiscal:
                      - 'The notaFiscal field is required.'
                properties:
                  message:
                    type: string
                    example: 'The notaFiscal field is required.'
                  errors:
                    type: object
                    properties:
                      notaFiscal:
                        type: array
                        example:
                          - 'The notaFiscal field is required.'
                        items:
                          type: string
      tags:
        - 'NFCe management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callback:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://hahn.com/veniam-esse-sed-nemo-impedit-sunt-aut'
                  nullable: true
                ambiente:
                  type: string
                  description: ''
                  example: developer
                  enum:
                    - production
                    - developer
                ide:
                  type: object
                  description: ''
                  example: []
                  properties:
                    cUF:
                      type: integer
                      description: ''
                      example: 7
                    cNF:
                      type: string
                      description: ''
                      example: laudantium
                    natOp:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: vba
                    serie:
                      type: integer
                      description: ''
                      example: 19
                    nNF:
                      type: integer
                      description: ''
                      example: 18
                    dhEmi:
                      type: string
                      description: 'Must be a valid date in the format <code>Y-m-d\TH:i:sP</code>.'
                      example: '2026-03-12T23:18:22+00:00'
                    dhSaiEnt:
                      type: string
                      description: 'Must be a valid date in the format <code>Y-m-d\TH:i:sP</code>.'
                      example: '2026-03-12T23:18:22+00:00'
                      nullable: true
                    tpNF:
                      type: string
                      description: ''
                      example: 0
                      enum:
                        - 0
                        - 1
                    idDest:
                      type: string
                      description: ''
                      example: 1
                      enum:
                        - 1
                        - 2
                        - 3
                    cMunFG:
                      type: integer
                      description: ''
                      example: 17
                    tpImp:
                      type: string
                      description: ''
                      example: 4
                      enum:
                        - 0
                        - 1
                        - 2
                        - 3
                        - 4
                        - 5
                    tpEmis:
                      type: string
                      description: ''
                      example: 4
                      enum:
                        - 1
                        - 2
                        - 3
                        - 4
                        - 5
                        - 6
                        - 7
                        - 8
                        - 9
                    cDV:
                      type: integer
                      description: ''
                      example: 5
                      nullable: true
                    finNFe:
                      type: string
                      description: ''
                      example: 1
                      enum:
                        - 1
                        - 2
                        - 3
                        - 4
                    indFinal:
                      type: string
                      description: ''
                      example: 0
                      enum:
                        - 0
                        - 1
                    indPres:
                      type: string
                      description: ''
                      example: 9
                      enum:
                        - 0
                        - 1
                        - 2
                        - 3
                        - 4
                        - 5
                        - 9
                    procEmi:
                      type: string
                      description: ''
                      example: 1
                      enum:
                        - 0
                        - 1
                        - 2
                        - 3
                    verProc:
                      type: string
                      description: 'Must not be greater than 20 characters.'
                      example: vgxhzssgdvn
                    dhCont:
                      type: string
                      description: 'Must be a valid date in the format <code>Y-m-d\TH:i:sP</code>.'
                      example: '2026-03-12T23:18:22+00:00'
                      nullable: true
                    xJust:
                      type: string
                      description: 'Must be at least 20 characters. Must not be greater than 256 characters.'
                      example: iwnnmugs
                      nullable: true
                    NFref:
                      type: object
                      description: ''
                      example: []
                      properties:
                        refNFe:
                          type: string
                          description: 'Must be 44 characters.'
                          example: donuoztbcsmiqmjqfvufdrplqaqljaromczusbwsaclu
                          nullable: true
                  required:
                    - cUF
                    - cNF
                    - natOp
                    - serie
                    - nNF
                    - dhEmi
                    - tpNF
                    - idDest
                    - cMunFG
                    - tpImp
                    - tpEmis
                    - finNFe
                    - indFinal
                    - indPres
                    - procEmi
                    - verProc
                emit:
                  type: object
                  description: ''
                  example: []
                  properties:
                    CNPJ:
                      type: string
                      description: 'This field is required when <code>emit.CPF</code> is not present. Must be 14 characters.'
                      example: ahruiugznbevbu
                      nullable: true
                    CPF:
                      type: string
                      description: 'This field is required when <code>emit.CNPJ</code> is not present. Must be 11 characters.'
                      example: qwlsyaizwod
                      nullable: true
                    xNome:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: fazsxhwxkrzbjkr
                    xFant:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: kyg
                      nullable: true
                    IE:
                      type: string
                      description: 'Must not be greater than 14 characters.'
                      example: tw
                    IEST:
                      type: string
                      description: 'Must not be greater than 14 characters.'
                      example: mukhujvkidpfoz
                      nullable: true
                    IM:
                      type: string
                      description: 'Must not be greater than 15 characters.'
                      example: gw
                      nullable: true
                    CNAE:
                      type: string
                      description: 'Must be 7 characters.'
                      example: tstuvln
                      nullable: true
                    CRT:
                      type: string
                      description: ''
                      example: 1
                      enum:
                        - 1
                        - 2
                        - 3
                  required:
                    - xNome
                    - IE
                    - CRT
                enderEmit:
                  type: object
                  description: ''
                  example: []
                  properties:
                    xLgr:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: carygesptdmfl
                    nro:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: ghvcfzxafznmopv
                    xCpl:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: pcvkhtttwhqufyw
                      nullable: true
                    xBairro:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: epwquibamjsjvdboxkpuiqf
                    cMun:
                      type: integer
                      description: ''
                      example: 6
                    xMun:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: dgeanyhbdcu
                    UF:
                      type: string
                      description: 'Must be 2 characters.'
                      example: xa
                    CEP:
                      type: string
                      description: 'Must be 8 characters.'
                      example: xaixhwbv
                    cPais:
                      type: integer
                      description: ''
                      example: 3
                      nullable: true
                    xPais:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: se
                      nullable: true
                    fone:
                      type: string
                      description: 'Must not be greater than 14 characters.'
                      example: jdliminnoydomq
                      nullable: true
                  required:
                    - xLgr
                    - nro
                    - xBairro
                    - cMun
                    - xMun
                    - UF
                    - CEP
                dest:
                  type: object
                  description: ''
                  example: []
                  properties:
                    CNPJ:
                      type: string
                      description: 'Must be 14 characters.'
                      example: bucnlnfjytfzre
                      nullable: true
                    CPF:
                      type: string
                      description: 'Must be 11 characters.'
                      example: vavruvrpicd
                      nullable: true
                    idEstrangeiro:
                      type: string
                      description: 'Must not be greater than 20 characters.'
                      example: ivtvs
                      nullable: true
                    xNome:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: eenmgqgabwpvueht
                      nullable: true
                    indIEDest:
                      type: string
                      description: ''
                      example: 9
                      enum:
                        - 1
                        - 2
                        - 9
                      nullable: true
                    IE:
                      type: string
                      description: 'Must not be greater than 14 characters.'
                      example: pqlqwdjyumu
                      nullable: true
                    ISUF:
                      type: string
                      description: 'Must not be greater than 9 characters.'
                      example: bqhaxyakx
                      nullable: true
                    IM:
                      type: string
                      description: 'Must not be greater than 15 characters.'
                      example: djmk
                      nullable: true
                    email:
                      type: string
                      description: 'Must be a valid email address. Must not be greater than 60 characters.'
                      example: breichel@example.com
                      nullable: true
                enderDest:
                  type: object
                  description: ''
                  example: []
                  properties:
                    xLgr:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: uhe
                      nullable: true
                    nro:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: ngejkqnji
                      nullable: true
                    xCpl:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: xkrshvfkdmnbzcabajaiu
                      nullable: true
                    xBairro:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: drtg
                      nullable: true
                    cMun:
                      type: integer
                      description: ''
                      example: 20
                      nullable: true
                    xMun:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: ukjfrubqxhkrwdbzwkaawytpq
                      nullable: true
                    UF:
                      type: string
                      description: 'Must be 2 characters.'
                      example: nx
                      nullable: true
                    CEP:
                      type: string
                      description: 'Must be 8 characters.'
                      example: kncraxhy
                      nullable: true
                    cPais:
                      type: integer
                      description: ''
                      example: 10
                      nullable: true
                    xPais:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: ancefcicntvlejzziheurdvgc
                      nullable: true
                    fone:
                      type: string
                      description: 'Must not be greater than 14 characters.'
                      example: outww
                      nullable: true
                retirada:
                  type: object
                  description: ''
                  example: null
                  properties:
                    CNPJ:
                      type: string
                      description: 'Must be 14 characters.'
                      example: tehxanzjgzsows
                      nullable: true
                    CPF:
                      type: string
                      description: 'Must be 11 characters.'
                      example: voenxeggqcn
                      nullable: true
                    xNome:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: ablwhgdcw
                      nullable: true
                    xLgr:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: ghvwdojofixjegx
                      nullable: true
                    nro:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: rzfzi
                      nullable: true
                    xCpl:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: vgmypjpbaudtnixr
                      nullable: true
                    xBairro:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: f
                      nullable: true
                    cMun:
                      type: integer
                      description: ''
                      example: 20
                      nullable: true
                    xMun:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: plwalkmanmzymxxbe
                      nullable: true
                    UF:
                      type: string
                      description: 'Must be 2 characters.'
                      example: kz
                      nullable: true
                    CEP:
                      type: string
                      description: 'Must be 8 characters.'
                      example: qfnqnxta
                      nullable: true
                    cPais:
                      type: integer
                      description: ''
                      example: 5
                      nullable: true
                    xPais:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: eeruqku
                      nullable: true
                    fone:
                      type: string
                      description: 'Must not be greater than 14 characters.'
                      example: ffmk
                      nullable: true
                  nullable: true
                entrega:
                  type: object
                  description: ''
                  example: null
                  properties:
                    CNPJ:
                      type: string
                      description: 'Must be 14 characters.'
                      example: gisxuyjfbjwyfu
                      nullable: true
                    CPF:
                      type: string
                      description: 'Must be 11 characters.'
                      example: pbhgswtkdxf
                      nullable: true
                    xNome:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: vglmjspwsdheydoxowubs
                      nullable: true
                    xLgr:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: gbkbxlgxiddnvpexbtoixlj
                      nullable: true
                    nro:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: qwtmrqxlgj
                      nullable: true
                    xCpl:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: rrzyckfuunlxcfpam
                      nullable: true
                    xBairro:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: fwaujdp
                      nullable: true
                    cMun:
                      type: integer
                      description: ''
                      example: 19
                      nullable: true
                    xMun:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: aupslahht
                      nullable: true
                    UF:
                      type: string
                      description: 'Must be 2 characters.'
                      example: ol
                      nullable: true
                    CEP:
                      type: string
                      description: 'Must be 8 characters.'
                      example: vcyvxlxp
                      nullable: true
                    cPais:
                      type: integer
                      description: ''
                      example: 19
                      nullable: true
                    xPais:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: lbmyjorugpxhshybauyk
                      nullable: true
                    fone:
                      type: string
                      description: 'Must not be greater than 14 characters.'
                      example: frhjjfbdo
                      nullable: true
                  nullable: true
                det:
                  type: array
                  description: 'Must have at least 1 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      nItem:
                        type: integer
                        description: 'Must be at least 1.'
                        example: 72
                      prod:
                        type: object
                        description: ''
                        example: []
                        properties:
                          cProd:
                            type: string
                            description: 'Must not be greater than 60 characters.'
                            example: emxpulrbppir
                          cEAN:
                            type: string
                            description: 'Must not be greater than 14 characters.'
                            example: kjylygrxkm
                          xProd:
                            type: string
                            description: 'Must not be greater than 120 characters.'
                            example: s
                          NCM:
                            type: string
                            description: 'Must be 8 characters.'
                            example: fhvjutcp
                          CEST:
                            type: string
                            description: 'Must be 7 characters.'
                            example: dqjfeoq
                            nullable: true
                          CFOP:
                            type: string
                            description: 'Must be 4 characters.'
                            example: ekbg
                          uCom:
                            type: string
                            description: 'Must not be greater than 6 characters.'
                            example: h
                          qCom:
                            type: number
                            description: ''
                            example: 72914015.466367
                          vUnCom:
                            type: number
                            description: ''
                            example: 3859.8195304
                          vProd:
                            type: number
                            description: ''
                            example: 319292.9
                          cEANTrib:
                            type: string
                            description: 'Must not be greater than 14 characters.'
                            example: poekb
                          uTrib:
                            type: string
                            description: 'Must not be greater than 6 characters.'
                            example: uvsm
                          qTrib:
                            type: number
                            description: ''
                            example: 95128580.0
                          vUnTrib:
                            type: number
                            description: ''
                            example: 3.26
                          indTot:
                            type: string
                            description: ''
                            example: 1
                            enum:
                              - 0
                              - 1
                        required:
                          - cProd
                          - cEAN
                          - xProd
                          - NCM
                          - CFOP
                          - uCom
                          - qCom
                          - vUnCom
                          - vProd
                          - cEANTrib
                          - uTrib
                          - qTrib
                          - vUnTrib
                          - indTot
                      imposto:
                        type: object
                        description: ''
                        example: []
                        properties:
                          vTotTrib:
                            type: number
                            description: ''
                            example: 30921798.078547
                            nullable: true
                          ICMS:
                            type: array
                            description: ''
                            example:
                              - []
                            items:
                              type: object
                              properties:
                                orig:
                                  type: string
                                  description: ''
                                  example: 2
                                  enum:
                                    - 0
                                    - 1
                                    - 2
                                    - 3
                                    - 4
                                    - 5
                                    - 6
                                    - 7
                                    - 8
                                CST:
                                  type: string
                                  description: 'This field is required when <code>det.*.imposto.ICMS.*.CSOSN</code> is not present.'
                                  example: 20
                                  enum:
                                    - 0
                                    - 10
                                    - 20
                                    - 30
                                    - 40
                                    - 41
                                    - 50
                                    - 51
                                    - 60
                                    - 70
                                    - 90
                                CSOSN:
                                  type: string
                                  description: 'This field is required when <code>det.*.imposto.ICMS.*.CST</code> is not present.'
                                  example: 300
                                  enum:
                                    - 101
                                    - 102
                                    - 103
                                    - 201
                                    - 202
                                    - 203
                                    - 300
                                    - 400
                                    - 500
                                    - 900
                                modBC:
                                  type: string
                                  description: ''
                                  example: 2
                                  enum:
                                    - 0
                                    - 1
                                    - 2
                                    - 3
                                  nullable: true
                                vBC:
                                  type: number
                                  description: ''
                                  example: 19319868.668204
                                  nullable: true
                                pICMS:
                                  type: number
                                  description: ''
                                  example: 195069.57896557
                                  nullable: true
                                vICMS:
                                  type: number
                                  description: ''
                                  example: 0.8490213
                                  nullable: true
                              required:
                                - orig
                          PIS:
                            type: array
                            description: ''
                            example:
                              - []
                            items:
                              type: object
                              properties:
                                CST:
                                  type: string
                                  description: ''
                                  example: 65
                                  enum:
                                    - 1
                                    - 2
                                    - 3
                                    - 4
                                    - 5
                                    - 6
                                    - 7
                                    - 8
                                    - 9
                                    - 49
                                    - 50
                                    - 51
                                    - 52
                                    - 53
                                    - 54
                                    - 55
                                    - 56
                                    - 60
                                    - 61
                                    - 62
                                    - 63
                                    - 64
                                    - 65
                                    - 66
                                    - 67
                                    - 70
                                    - 71
                                    - 72
                                    - 73
                                    - 74
                                    - 75
                                    - 98
                                    - 99
                                vBC:
                                  type: number
                                  description: ''
                                  example: 3391.116112
                                  nullable: true
                                pPIS:
                                  type: number
                                  description: ''
                                  example: 38554312.0
                                  nullable: true
                                vPIS:
                                  type: number
                                  description: ''
                                  example: 4667358.7
                                  nullable: true
                              required:
                                - CST
                          COFINS:
                            type: array
                            description: ''
                            example:
                              - []
                            items:
                              type: object
                              properties:
                                CST:
                                  type: string
                                  description: ''
                                  example: 98
                                  enum:
                                    - 1
                                    - 2
                                    - 3
                                    - 4
                                    - 5
                                    - 6
                                    - 7
                                    - 8
                                    - 9
                                    - 49
                                    - 50
                                    - 51
                                    - 52
                                    - 53
                                    - 54
                                    - 55
                                    - 56
                                    - 60
                                    - 61
                                    - 62
                                    - 63
                                    - 64
                                    - 65
                                    - 66
                                    - 67
                                    - 70
                                    - 71
                                    - 72
                                    - 73
                                    - 74
                                    - 75
                                    - 98
                                    - 99
                                vBC:
                                  type: number
                                  description: ''
                                  example: 61604.62449
                                  nullable: true
                                pCOFINS:
                                  type: number
                                  description: ''
                                  example: 27488.1
                                  nullable: true
                                vCOFINS:
                                  type: number
                                  description: ''
                                  example: 4.309
                                  nullable: true
                              required:
                                - CST
                    required:
                      - nItem
                total:
                  type: object
                  description: ''
                  example: []
                  properties:
                    ICMSTot:
                      type: object
                      description: ''
                      example: []
                      properties:
                        vBC:
                          type: number
                          description: ''
                          example: 37.2249
                          nullable: true
                        vICMS:
                          type: number
                          description: ''
                          example: 40652.19361042
                          nullable: true
                        vICMSDeson:
                          type: number
                          description: ''
                          example: 368196.9
                          nullable: true
                        vFCP:
                          type: number
                          description: ''
                          example: 5753950.687
                          nullable: true
                        vBCST:
                          type: number
                          description: ''
                          example: 1.0
                          nullable: true
                        vST:
                          type: number
                          description: ''
                          example: 714604700.14762
                          nullable: true
                        vFCPST:
                          type: number
                          description: ''
                          example: 4.2
                          nullable: true
                        vFCPSTRet:
                          type: number
                          description: ''
                          example: 5975008.7856221
                          nullable: true
                        vProd:
                          type: number
                          description: ''
                          example: 1412.54
                          nullable: true
                        vFrete:
                          type: number
                          description: ''
                          example: 1472.2
                          nullable: true
                        vSeg:
                          type: number
                          description: ''
                          example: 0.01573469
                          nullable: true
                        vDesc:
                          type: number
                          description: ''
                          example: 26656842.023659
                          nullable: true
                        vII:
                          type: number
                          description: ''
                          example: 17.671111732
                          nullable: true
                        vIPI:
                          type: number
                          description: ''
                          example: 9339.77684
                          nullable: true
                        vIPIDevol:
                          type: number
                          description: ''
                          example: 4105.2
                          nullable: true
                        vPIS:
                          type: number
                          description: ''
                          example: 25811416.0
                          nullable: true
                        vCOFINS:
                          type: number
                          description: ''
                          example: 51211721.60285
                          nullable: true
                        vOutro:
                          type: number
                          description: ''
                          example: 630.673
                          nullable: true
                        vNF:
                          type: number
                          description: ''
                          example: 713.472942
                          nullable: true
                        vTotTrib:
                          type: number
                          description: ''
                          example: 6159.0
                          nullable: true
                transp:
                  type: object
                  description: ''
                  example: []
                  properties:
                    modFrete:
                      type: string
                      description: ''
                      example: 4
                      enum:
                        - 0
                        - 1
                        - 2
                        - 3
                        - 4
                        - 9
                  required:
                    - modFrete
                pag:
                  type: object
                  description: ''
                  example: []
                  properties:
                    detPag:
                      type: array
                      description: ''
                      example: null
                      items:
                        type: object
                        nullable: true
                        properties:
                          indPag:
                            type: string
                            description: ''
                            example: 0
                            enum:
                              - 0
                              - 1
                              - 2
                            nullable: true
                          tPag:
                            type: string
                            description: 'Must not be greater than 2 characters.'
                            example: vm
                            nullable: true
                          vPag:
                            type: number
                            description: ''
                            example: 833.48
                            nullable: true
                          tpIntegra:
                            type: string
                            description: ''
                            example: 2
                            enum:
                              - 1
                              - 2
                            nullable: true
                          CNPJ:
                            type: string
                            description: 'Must be 14 characters.'
                            example: huspvvqlcvvsep
                            nullable: true
                          tBand:
                            type: string
                            description: ''
                            example: 6
                            enum:
                              - 1
                              - 2
                              - 3
                              - 4
                              - 5
                              - 6
                              - 7
                              - 8
                              - 9
                              - 10
                              - 11
                              - 12
                              - 13
                              - 14
                              - 15
                              - 16
                              - 17
                              - 18
                              - 19
                              - 20
                              - 99
                            nullable: true
                          cAut:
                            type: string
                            description: 'Must not be greater than 128 characters.'
                            example: ms
                            nullable: true
                    vTroco:
                      type: number
                      description: ''
                      example: 4319774.2581689
                      nullable: true
                infAdic:
                  type: object
                  description: ''
                  example: []
                  properties:
                    infAdFisco:
                      type: string
                      description: 'Must not be greater than 2000 characters.'
                      example: lfghqg
                      nullable: true
                    infCpl:
                      type: string
                      description: 'Must not be greater than 5000 characters.'
                      example: xonyvli
                      nullable: true
                infRespTec:
                  type: object
                  description: ''
                  example: []
                  properties:
                    CNPJ:
                      type: string
                      description: 'Must be 14 characters.'
                      example: qquiekrefcsuzf
                      nullable: true
                    xContato:
                      type: string
                      description: 'Must not be greater than 60 characters.'
                      example: xgi
                      nullable: true
                    email:
                      type: string
                      description: 'Must be a valid email address. Must not be greater than 60 characters.'
                      example: nkulas@example.org
                      nullable: true
                    fone:
                      type: string
                      description: 'Must not be greater than 14 characters.'
                      example: ihpivqvcnh
                      nullable: true
              required:
                - ambiente
                - det
  /api/nfc/cancelar:
    post:
      summary: 'Cancel NFe'
      operationId: cancelNFe
      description: 'Cancel an existing electronic invoice (NFe)'
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 3051
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 3051
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The chave field is required.'
                  errors:
                    chave:
                      - 'The chave field is required.'
                properties:
                  message:
                    type: string
                    example: 'The chave field is required.'
                  errors:
                    type: object
                    properties:
                      chave:
                        type: array
                        example:
                          - 'The chave field is required.'
                        items:
                          type: string
      tags:
        - 'NFCe management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callback:
                  type: string
                  description: ''
                  example: null
                ambiente:
                  type: string
                  description: ''
                  example: developer
                  enum:
                    - production
                    - developer
                chave:
                  type: string
                  description: 'Must be 44 characters.'
                  example: kvwvhmgcwktwbllcgbgreshljebbulydqlrnzplzqeha
                protocolo:
                  type: string
                  description: ''
                  example: molestias
                justificativa:
                  type: string
                  description: 'Must be at least 15 characters. Must not be greater than 255 characters.'
                  example: gnclvm
              required:
                - ambiente
                - chave
                - protocolo
                - justificativa
  /api/nfc/cce:
    post:
      summary: 'Correction Letter NFCe'
      operationId: correctionLetterNFCe
      description: 'Correct an existing electronic invoice (NFCe)'
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 3051
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 3051
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The chave field is required.'
                  errors:
                    chave:
                      - 'The chave field is required.'
                properties:
                  message:
                    type: string
                    example: 'The chave field is required.'
                  errors:
                    type: object
                    properties:
                      chave:
                        type: array
                        example:
                          - 'The chave field is required.'
                        items:
                          type: string
      tags:
        - 'NFCe management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callback:
                  type: string
                  description: 'Callback URL to receive the response.'
                  example: 'https://example.com/callback'
                ambiente:
                  type: string
                  description: 'Environment to use.'
                  example: 'production or developer'
                  enum:
                    - production
                    - developer
                chave:
                  type: string
                  description: 'NFe key to be corrected. Must be 44 characters.'
                  example: '43190512345678000123550010000000011000000011'
                correcao:
                  type: string
                  description: 'Correction text for the CCe. Must not be greater than 1000 characters. Must be at least 15 characters.'
                  example: 'Correction of the invoice data as per agreement.'
                sequencial:
                  type: integer
                  description: 'Sequential number of the CCe (1-99). Must be at least 1. Must not be greater than 99.'
                  example: 1
              required:
                - ambiente
                - chave
                - correcao
                - sequencial
  /api/nfse/gerar:
    post:
      summary: ''
      operationId: postApiNfseGerar
      description: ''
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 2950
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 2950
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The rps.identificacao.numero field is required.'
                  errors:
                    rps.identificacao.numero:
                      - 'The rps.identificacao.numero field is required.'
                properties:
                  message:
                    type: string
                    example: 'The rps.identificacao.numero field is required.'
                  errors:
                    type: object
                    properties:
                      rps.identificacao.numero:
                        type: array
                        example:
                          - 'The rps.identificacao.numero field is required.'
                        items:
                          type: string
      tags:
        - 'NFSe management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callback:
                  type: string
                  description: 'Callback URL to receive the response.'
                  example: 'https://example.com/callback'
                ambiente:
                  type: string
                  description: 'Environment to use.'
                  example: 'production or developer'
                  enum:
                    - production
                    - developer
                rps:
                  type: object
                  description: ''
                  example: []
                  properties:
                    identificacao:
                      type: object
                      description: ''
                      example: []
                      properties:
                        numero:
                          type: string
                          description: 'The number of the RPS.'
                          example: 123456
                        serie:
                          type: string
                          description: 'The series of the RPS.'
                          example: 1
                        tipo:
                          type: string
                          description: 'The type of the RPS.'
                          example: 1
                      required:
                        - numero
                        - serie
                        - tipo
                    data_emissao:
                      type: string
                      description: 'The emission date of the RPS. Must be a valid date in the format <code>Y-m-d\TH:i:s</code>.'
                      example: '2023-10-01T12:00:00'
                    data_competencia:
                      type: string
                      description: 'Must be a valid date in the format <code>Y-m-d</code>.'
                      example: '2026-03-12'
                    natureza_operacao:
                      type: string
                      description: 'The nature of the operation.'
                      example: 1
                    optante_simples_nacional:
                      type: string
                      description: 'Whether the service provider is a Simple National taxpayer.'
                      example: 1
                      enum:
                        - 1
                        - 2
                        - 3
                    regime_especial_tributacao_sn:
                      type: string
                      description: 'Whether the service provider is a Simple National taxpayer.'
                      example: 1
                      enum:
                        - 1
                        - 2
                        - 3
                    incentivador_cultural:
                      type: string
                      description: 'Whether the service provider is a cultural incentive.'
                      example: 1
                      enum:
                        - 1
                        - 2
                    status:
                      type: string
                      description: 'The status of the RPS.'
                      example: 1
                    servico:
                      type: object
                      description: ''
                      example: []
                      properties:
                        valores:
                          type: object
                          description: ''
                          example: []
                          properties:
                            valor_servicos:
                              type: number
                              description: 'The value of the services.'
                              example: 100.0
                            iss_retido:
                              type: string
                              description: 'Whether the ISS is withheld.'
                              example: 1
                              enum:
                                - 1
                                - 2
                            aliquota:
                              type: string
                              description: 'The tax rate.'
                              example: 5.0
                            aliquota_fed:
                              type: number
                              description: ''
                              example: 3.0
                            aliquota_est:
                              type: number
                              description: ''
                              example: 0.0906476
                            aliquota_mun:
                              type: number
                              description: ''
                              example: 3585.88
                            valor_deducoes:
                              type: number
                              description: 'The value of deductions.'
                              example: 10.0
                            valor_total_recebido:
                              type: number
                              description: 'The total value received.'
                              example: 90.0
                            valor_pis:
                              type: number
                              description: 'The value of PIS.'
                              example: 1.0
                            valor_cofins:
                              type: number
                              description: 'The value of COFINS.'
                              example: 1.0
                            valor_inss:
                              type: number
                              description: 'The value of INSS.'
                              example: 1.0
                            valor_ir:
                              type: number
                              description: 'The value of IR.'
                              example: 1.0
                            valor_csll:
                              type: number
                              description: 'The value of CSLL.'
                              example: 1.0
                            valor_iss:
                              type: number
                              description: 'The value of ISS.'
                              example: 1.0
                            valor_iss_retido:
                              type: number
                              description: 'The value of withheld ISS.'
                              example: 1.0
                            outras_retencoes:
                              type: number
                              description: 'The value of other withholdings.'
                              example: 1.0
                            base_calculo:
                              type: number
                              description: 'The calculation base.'
                              example: 100.0
                            valor_liquido_nfse:
                              type: number
                              description: 'The net value of the NFSe.'
                              example: 90.0
                            desconto_incondicionado:
                              type: number
                              description: 'The value of unconditional discount.'
                              example: 0.0
                            desconto_condicionado:
                              type: number
                              description: 'The value of conditioned discount.'
                              example: 0.0
                            cst:
                              type: string
                              description: 'The CST code.'
                              example: '01'
                              enum:
                                - 0
                                - 1
                                - 2
                                - 3
                                - 4
                                - 5
                                - 6
                                - 7
                                - 8
                                - 9
                                - 99
                            pis_cofins_retido:
                              type: string
                              description: 'Whether PIS/COFINS is withheld.'
                              example: 1
                              enum:
                                - 0
                                - 1
                                - 2
                                - 3
                                - 4
                                - 5
                                - 6
                                - 7
                                - 8
                                - 9
                          required:
                            - valor_servicos
                            - iss_retido
                        item_lista_servico:
                          type: string
                          description: 'The item list service code.'
                          example: 123456
                        codigo_servico_nacional:
                          type: string
                          description: ''
                          example: null
                        codigo_cnae:
                          type: string
                          description: 'The CNAE code.'
                          example: 12345678
                        nbs:
                          type: string
                          description: 'The NBS code.'
                          example: 12345678
                        codigo_tributacao_municipio:
                          type: string
                          description: 'The municipal taxation code.'
                          example: 123456
                        discriminacao:
                          type: string
                          description: 'The service description.'
                          example: 'Service description'
                        codigo_municipio:
                          type: string
                          description: 'The municipality code.'
                          example: 123456
                        regime_especial_tributacao:
                          type: number
                          description: 'The special tax regime.'
                          example: 1.0
                        exigibilidade_iss:
                          type: number
                          description: 'The ISS requirement.'
                          example: 1.0
                        municipio_incidencia:
                          type: number
                          description: 'The municipality of incidence.'
                          example: 123456.0
                        informacoes_complementares:
                          type: string
                          description: ''
                          example: voluptatem
                      required:
                        - item_lista_servico
                        - discriminacao
                        - codigo_municipio
                    tomador:
                      type: object
                      description: ''
                      example: []
                      properties:
                        nome:
                          type: string
                          description: 'The name of the taker.'
                          example: 'John Doe'
                        cpf:
                          type: string
                          description: 'The CPF of the taker. Must be 11 digits.'
                          example: '12345678901'
                        cnpj:
                          type: string
                          description: 'The CNPJ of the taker. Must be 14 digits.'
                          example: '12345678901234'
                        endereco:
                          type: string
                          description: 'The address of the taker.'
                          example: '123 Main St'
                        numero:
                          type: string
                          description: "The number of the taker's address. This field is required when <code>rps.tomador.endereco</code> is present."
                          example: '123'
                        complemento:
                          type: string
                          description: 'The address complement of the taker.'
                          example: 'Apt 1'
                        bairro:
                          type: string
                          description: 'The neighborhood of the taker. This field is required when <code>rps.tomador.endereco</code> is present.'
                          example: Downtown
                        codigo_municipio:
                          type: string
                          description: 'The municipality code of the taker.'
                          example: 123456
                        uf:
                          type: string
                          description: 'The state of the taker.'
                          example: SP
                        cep:
                          type: string
                          description: 'The postal code of the taker. Must be 8 digits.'
                          example: '12345678'
                        telefone:
                          type: string
                          description: 'Must be between 6 and 20 digits.'
                          example: '38665465'
                        email:
                          type: string
                          description: 'Must be a valid email address.'
                          example: claudia.orn@example.net
                    obra:
                      type: object
                      description: ''
                      example: []
                      properties:
                        cep:
                          type: string
                          description: 'The postal code of the work. Must be 8 digits.'
                          example: '12345678'
                        endereco:
                          type: string
                          description: 'The address of the work.'
                          example: '456 Elm St'
                        numero:
                          type: string
                          description: "The number of the work's address."
                          example: '456'
                        bairro:
                          type: string
                          description: 'The neighborhood of the work.'
                          example: Uptown
                        codigo_obra:
                          type: string
                          description: 'The code of the work.'
                          example: 123456
                        art:
                          type: string
                          description: 'The ART of the work.'
                          example: '123456789'
                  required:
                    - data_emissao
                    - natureza_operacao
                    - optante_simples_nacional
                    - incentivador_cultural
                    - status
              required:
                - ambiente
  /api/nfse/gerar/lote:
    post:
      summary: ''
      operationId: postApiNfseGerarLote
      description: ''
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 2950
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 2950
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The rps.0.identificacao.numero field is required.'
                  errors:
                    rps.identificacao.0.numero:
                      - 'The rps.0.identificacao.numero field is required.'
                properties:
                  message:
                    type: string
                    example: 'The rps.0.identificacao.numero field is required.'
                  errors:
                    type: object
                    properties:
                      rps.identificacao.0.numero:
                        type: array
                        example:
                          - 'The rps.0.identificacao.numero field is required.'
                        items:
                          type: string
      tags:
        - 'NFSe management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callback:
                  type: string
                  description: 'Callback URL to receive the response.'
                  example: 'https://example.com/callback'
                ambiente:
                  type: string
                  description: 'Environment to use.'
                  example: 'production or developer'
                  enum:
                    - production
                    - developer
                lote:
                  type: number
                  description: 'The batch number for the NFSe.'
                  example: 123456.0
                rps:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      identificacao:
                        type: object
                        description: ''
                        example: []
                        properties:
                          numero:
                            type: string
                            description: 'The number of the RPS.'
                            example: 123456
                          serie:
                            type: string
                            description: 'The series of the RPS.'
                            example: 1
                          tipo:
                            type: string
                            description: 'The type of the RPS.'
                            example: 1
                        required:
                          - numero
                          - serie
                          - tipo
                      data_emissao:
                        type: string
                        description: 'The emission date of the RPS. Must be a valid date in the format <code>Y-m-d\TH:i:s</code>.'
                        example: '2023-10-01T12:00:00'
                      natureza_operacao:
                        type: string
                        description: 'The nature of the operation.'
                        example: 1
                      optante_simples_nacional:
                        type: string
                        description: 'Whether the service provider is a Simple National taxpayer.'
                        example: 1
                        enum:
                          - 1
                          - 2
                      incentivador_cultural:
                        type: string
                        description: 'Whether the service provider is a cultural incentive.'
                        example: 1
                        enum:
                          - 1
                          - 2
                      status:
                        type: string
                        description: 'The status of the RPS.'
                        example: 1
                      servico:
                        type: object
                        description: ''
                        example: []
                        properties:
                          valores:
                            type: object
                            description: ''
                            example: []
                            properties:
                              valor_servicos:
                                type: number
                                description: 'The value of the services.'
                                example: 100.0
                              iss_retido:
                                type: string
                                description: 'Whether the ISS is withheld.'
                                example: 1
                                enum:
                                  - 1
                                  - 2
                              aliquota:
                                type: number
                                description: 'The tax rate.'
                                example: 5.0
                              valor_deducoes:
                                type: number
                                description: 'The value of deductions.'
                                example: 10.0
                              valor_total_recebido:
                                type: number
                                description: 'The total value received.'
                                example: 90.0
                              valor_pis:
                                type: number
                                description: 'The value of PIS.'
                                example: 1.0
                              valor_cofins:
                                type: number
                                description: 'The value of COFINS.'
                                example: 1.0
                              valor_inss:
                                type: number
                                description: 'The value of INSS.'
                                example: 1.0
                              valor_ir:
                                type: number
                                description: 'The value of IR.'
                                example: 1.0
                              valor_csll:
                                type: number
                                description: 'The value of CSLL.'
                                example: 1.0
                              valor_iss_retido:
                                type: number
                                description: 'The value of withheld ISS.'
                                example: 1.0
                              outras_retencoes:
                                type: number
                                description: 'The value of other withholdings.'
                                example: 1.0
                              base_calculo:
                                type: number
                                description: 'The calculation base.'
                                example: 100.0
                              valor_liquido_nfse:
                                type: number
                                description: 'The net value of the NFSe.'
                                example: 90.0
                              desconto_incondicionado:
                                type: number
                                description: 'The value of unconditional discount.'
                                example: 0.0
                              desconto_condicionado:
                                type: number
                                description: 'The value of conditioned discount.'
                                example: 0.0
                              cst:
                                type: string
                                description: 'The CST code.'
                                example: '01'
                                enum:
                                  - 0
                                  - 1
                                  - 2
                                  - 3
                                  - 4
                                  - 5
                                  - 6
                                  - 7
                                  - 8
                                  - 9
                              pis_cofins_retido:
                                type: string
                                description: 'Whether PIS/COFINS is withheld.'
                                example: 1
                                enum:
                                  - 0
                                  - 1
                                  - 2
                                  - 3
                                  - 4
                                  - 5
                                  - 6
                                  - 7
                                  - 8
                                  - 9
                            required:
                              - valor_servicos
                              - iss_retido
                          item_lista_servico:
                            type: string
                            description: 'The item list service code.'
                            example: 123456
                          codigo_servico_nacional:
                            type: string
                            description: ''
                            example: null
                          codigo_cnae:
                            type: string
                            description: 'The CNAE code.'
                            example: 12345678
                          codigo_tributacao_municipio:
                            type: string
                            description: 'The municipal taxation code.'
                            example: 123456
                          discriminacao:
                            type: string
                            description: 'The service description.'
                            example: 'Service description'
                          codigo_municipio:
                            type: string
                            description: 'The municipality code.'
                            example: 123456
                          regime_especial_tributacao:
                            type: number
                            description: 'The special tax regime.'
                            example: 1.0
                          exigibilidade_iss:
                            type: number
                            description: 'The ISS requirement.'
                            example: 1.0
                          municipio_incidencia:
                            type: number
                            description: 'The municipality of incidence.'
                            example: 123456.0
                        required:
                          - item_lista_servico
                          - codigo_tributacao_municipio
                          - discriminacao
                          - codigo_municipio
                      tomador:
                        type: object
                        description: ''
                        example: []
                        properties:
                          nome:
                            type: string
                            description: 'The name of the taker.'
                            example: 'John Doe'
                          cpf:
                            type: string
                            description: 'The CPF of the taker. This field is required when <code>rps.*.tomador.cnpj</code> is not present. Must be 11 digits.'
                            example: '12345678901'
                          cnpj:
                            type: string
                            description: 'The CNPJ of the taker. This field is required when <code>rps.*.tomador.cpf</code> is not present. Must be 14 digits.'
                            example: '12345678901234'
                          endereco:
                            type: string
                            description: 'The address of the taker.'
                            example: '123 Main St'
                          numero:
                            type: string
                            description: "The number of the taker's address."
                            example: '123'
                          complemento:
                            type: string
                            description: 'The address complement of the taker.'
                            example: 'Apt 1'
                          bairro:
                            type: string
                            description: 'The neighborhood of the taker.'
                            example: Downtown
                          codigo_municipio:
                            type: string
                            description: 'The municipality code of the taker.'
                            example: 123456
                          uf:
                            type: string
                            description: 'The state of the taker.'
                            example: SP
                          cep:
                            type: string
                            description: 'The postal code of the taker. Must be 8 digits.'
                            example: '12345678'
                        required:
                          - nome
                      obra:
                        type: object
                        description: ''
                        example: []
                        properties:
                          cep:
                            type: string
                            description: 'The postal code of the work. Must be 8 digits.'
                            example: '12345678'
                          endereco:
                            type: string
                            description: 'The address of the work.'
                            example: '456 Elm St'
                          numero:
                            type: string
                            description: "The number of the work's address."
                            example: '456'
                          bairro:
                            type: string
                            description: 'The neighborhood of the work.'
                            example: Uptown
                          codigo_obra:
                            type: string
                            description: 'The code of the work.'
                            example: 123456
                          art:
                            type: string
                            description: 'The ART of the work.'
                            example: '123456789'
                    required:
                      - data_emissao
                      - natureza_operacao
                      - optante_simples_nacional
                      - incentivador_cultural
                      - status
              required:
                - ambiente
                - lote
  /api/nfse/cancelar:
    post:
      summary: ''
      operationId: postApiNfseCancelar
      description: ''
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 2950
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 2950
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The numero field is required.'
                  errors:
                    numero:
                      - 'The numero field is required.'
                properties:
                  message:
                    type: string
                    example: 'The numero field is required.'
                  errors:
                    type: object
                    properties:
                      numero:
                        type: array
                        example:
                          - 'The numero field is required.'
                        items:
                          type: string
      tags:
        - 'NFSe management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callback:
                  type: string
                  description: 'Callback URL to receive the response.'
                  example: 'https://example.com/callback'
                ambiente:
                  type: string
                  description: 'Environment to use.'
                  example: 'production or developer'
                  enum:
                    - production
                    - developer
                numero:
                  type: string
                  description: 'The number of the NFSe.'
                  example: 123456
                codigo_cancelamento:
                  type: string
                  description: 'The cancellation code (1: Cancelamento, 2: Inutilização, 3: Substituição, 9: Outros).'
                  example: 1
                  enum:
                    - 1
                    - 2
                    - 3
                    - 9
                motivo:
                  type: string
                  description: ''
                  example: sapiente
              required:
                - ambiente
                - numero
                - codigo_cancelamento
  /api/v2/nfse/gerar:
    post:
      summary: ''
      operationId: postApiV2NfseGerar
      description: ''
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 2950
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 2950
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The rps.identificacao.numero field is required.'
                  errors:
                    rps.identificacao.numero:
                      - 'The rps.identificacao.numero field is required.'
                properties:
                  message:
                    type: string
                    example: 'The rps.identificacao.numero field is required.'
                  errors:
                    type: object
                    properties:
                      rps.identificacao.numero:
                        type: array
                        example:
                          - 'The rps.identificacao.numero field is required.'
                        items:
                          type: string
      tags:
        - 'NFSe v2 management'
  /api/v2/nfse/gerar/lote:
    post:
      summary: ''
      operationId: postApiV2NfseGerarLote
      description: ''
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 2950
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 2950
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The rps.0.identificacao.numero field is required.'
                  errors:
                    rps.identificacao.0.numero:
                      - 'The rps.0.identificacao.numero field is required.'
                properties:
                  message:
                    type: string
                    example: 'The rps.0.identificacao.numero field is required.'
                  errors:
                    type: object
                    properties:
                      rps.identificacao.0.numero:
                        type: array
                        example:
                          - 'The rps.0.identificacao.numero field is required.'
                        items:
                          type: string
      tags:
        - 'NFSe v2 management'
  /api/v2/nfse/cancelar:
    post:
      summary: ''
      operationId: postApiV2NfseCancelar
      description: ''
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 2950
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 2950
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The numero field is required.'
                  errors:
                    numero:
                      - 'The numero field is required.'
                properties:
                  message:
                    type: string
                    example: 'The numero field is required.'
                  errors:
                    type: object
                    properties:
                      numero:
                        type: array
                        example:
                          - 'The numero field is required.'
                        items:
                          type: string
      tags:
        - 'NFSe v2 management'
  /api/nfe/gerar:
    post:
      summary: 'Generate NFe'
      operationId: generateNFe
      description: 'Create a new electronic invoice (NFe)'
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 3050
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 3050
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The notaFiscal field is required.'
                  errors:
                    notaFiscal:
                      - 'The notaFiscal field is required.'
                properties:
                  message:
                    type: string
                    example: 'The notaFiscal field is required.'
                  errors:
                    type: object
                    properties:
                      notaFiscal:
                        type: array
                        example:
                          - 'The notaFiscal field is required.'
                        items:
                          type: string
      tags:
        - 'NFe management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callback:
                  type: string
                  description: 'URL de callback para notificação do resultado. Must be a valid URL.'
                  example: 'https://exemplo.com/webhook'
                  nullable: true
                ambiente:
                  type: string
                  description: 'Ambiente de emissão da NFe. Allowed: `production`, `developer`.'
                  example: production
                  enum:
                    - production
                    - developer
                ide:
                  type: object
                  description: ''
                  example: []
                  properties:
                    cUF:
                      type: integer
                      description: 'Código numérico da UF do emitente (conforme tabela do IBGE).'
                      example: 26
                      nullable: true
                    cNF:
                      type: string
                      description: 'Código numérico que compõe a chave de acesso (8 dígitos).'
                      example: '83319433'
                      nullable: true
                    natOp:
                      type: string
                      description: 'Descrição da natureza da operação (máx 60 caracteres). Ex: "VENDA FORA DO ESTADO", "VENDA DENTRO DO ESTADO". Must not be greater than 60 characters.'
                      example: 'VENDA FORA DO ESTADO'
                      nullable: true
                    serie:
                      type: integer
                      description: 'Série do documento fiscal (1-999).'
                      example: 1
                      nullable: true
                    nNF:
                      type: integer
                      description: 'Número do documento fiscal (1-999999999).'
                      example: 15233
                      nullable: true
                    dhEmi:
                      type: string
                      description: 'Data e hora de emissão no formato ISO 8601 (AAAA-MM-DDTHH:MM:SS-03:00). Must be a valid date in the format <code>Y-m-d\TH:i:sP</code>.'
                      example: '2025-06-02T08:38:53-03:00'
                      nullable: true
                    dhSaiEnt:
                      type: string
                      description: 'Data e hora de saída/entrada da mercadoria no formato ISO 8601. Must be a valid date in the format <code>Y-m-d\TH:i:sP</code>.'
                      example: '2025-06-02T08:38:53-03:00'
                      nullable: true
                    tpNF:
                      type: string
                      description: 'Tipo de operação: `0` = Entrada, `1` = Saída.'
                      example: 1
                      enum:
                        - 0
                        - 1
                      nullable: true
                    idDest:
                      type: string
                      description: 'Identificador de local de destino: `1` = Operação interna, `2` = Operação interestadual, `3` = Operação com exterior.'
                      example: 2
                      enum:
                        - 1
                        - 2
                        - 3
                      nullable: true
                    cMunFG:
                      type: integer
                      description: 'Código do município de ocorrência do fato gerador (conforme tabela do IBGE).'
                      example: 2611101
                      nullable: true
                    tpImp:
                      type: string
                      description: 'Formato de impressão do DANFE: `0` = Sem geração de DANFE, `1` = DANFE normal retrato, `2` = DANFE normal paisagem, `3` = DANFE simplificado, `4` = DANFE NFCe, `5` = DANFE NFCe mensagem eletrônica.'
                      example: 1
                      enum:
                        - 0
                        - 1
                        - 2
                        - 3
                        - 4
                        - 5
                      nullable: true
                    tpEmis:
                      type: string
                      description: 'Tipo de emissão: `1` = Normal, `2` = Contingência FS-IA, `3` = Contingência SCAN, `4` = Contingência DPEC, `5` = Contingência FS-DA, `6` = Contingência SVC-AN, `7` = Contingência SVC-RS, `8` = Contingência offline da NFCe, `9` = Contingência offline da NFCe.'
                      example: 1
                      enum:
                        - 1
                        - 2
                        - 3
                        - 4
                        - 5
                        - 6
                        - 7
                        - 8
                        - 9
                      nullable: true
                    cDV:
                      type: integer
                      description: 'Dígito verificador da chave de acesso (calculado automaticamente).'
                      example: 0
                      nullable: true
                    finNFe:
                      type: string
                      description: 'Finalidade de emissão: `1` = Normal, `2` = Complementar, `3` = Ajuste, `4` = Devolução/Retorno.'
                      example: 1
                      enum:
                        - 1
                        - 2
                        - 3
                        - 4
                      nullable: true
                    indFinal:
                      type: string
                      description: 'Indica se é consumidor final: `0` = Normal, `1` = Consumidor final.'
                      example: 1
                      enum:
                        - 0
                        - 1
                      nullable: true
                    indPres:
                      type: string
                      description: 'Indicador de presença do comprador: `0` = Não se aplica, `1` = Operação presencial, `2` = Operação não presencial pela internet, `3` = Operação não presencial teleatendimento, `4` = NFCe em operação com entrega em domicílio, `5` = Operação presencial fora do estabelecimento, `9` = Operação não presencial outros.'
                      example: 0
                      enum:
                        - 0
                        - 1
                        - 2
                        - 3
                        - 4
                        - 5
                        - 9
                      nullable: true
                    procEmi:
                      type: string
                      description: 'Processo de emissão: `0` = Emissão própria, `1` = Avulsa pela Fisco, `2` = Avulsa terceiros, `3` = Própria terceiros.'
                      example: 0
                      enum:
                        - 0
                        - 1
                        - 2
                        - 3
                      nullable: true
                    verProc:
                      type: string
                      description: 'Versão do processo de emissão (máx 20 caracteres). Must not be greater than 20 characters.'
                      example: '2.1.4 - 1.046.4'
                      nullable: true
                    dhCont:
                      type: string
                      description: 'Data e hora da entrada em contingência no formato ISO 8601. Must be a valid date in the format <code>Y-m-d\TH:i:sP</code>.'
                      example: '2025-06-02T08:38:53-03:00'
                      nullable: true
                    xJust:
                      type: string
                      description: 'Justificativa da entrada em contingência (mín 20, máx 256 caracteres). Must be at least 20 characters. Must not be greater than 256 characters.'
                      example: 'Justificativa para entrada em contingência'
                      nullable: true
                    NFref:
                      type: object
                      description: ''
                      example: []
                      properties:
                        refNFe:
                          type: string
                          description: 'Chave de acesso da NF-e referenciada (44 dígitos). Must be 44 characters.'
                          example: '35220608339483000120550010001523341000123345'
                          nullable: true
                emit:
                  type: object
                  description: ''
                  example: []
                  properties:
                    CNPJ:
                      type: string
                      description: 'Número do CNPJ do emitente (14 dígitos) - obrigatório quando não informado CPF. Must be 14 characters.'
                      example: '00000000000000'
                      nullable: true
                    CPF:
                      type: string
                      description: 'Número do CPF do emitente (11 dígitos) - obrigatório quando não informado CNPJ. Must be 11 characters.'
                      example: '12345678901'
                      nullable: true
                    xNome:
                      type: string
                      description: 'Nome/Razão social do emitente (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'DEVNOTA LTDA'
                      nullable: true
                    xFant:
                      type: string
                      description: 'Nome fantasia do emitente (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'DEVNOTA LTDA'
                      nullable: true
                    IE:
                      type: string
                      description: 'Inscrição estadual do emitente (máx 14 caracteres). Must not be greater than 14 characters.'
                      example: '027840417'
                      nullable: true
                    IEST:
                      type: string
                      description: 'Inscrição estadual do substituto tributário (máx 14 caracteres). Must not be greater than 14 characters.'
                      example: '123456789'
                      nullable: true
                    IM:
                      type: string
                      description: 'Inscrição municipal do emitente (máx 15 caracteres). Must not be greater than 15 characters.'
                      example: '123456789012345'
                      nullable: true
                    CNAE:
                      type: string
                      description: 'Código de atividade econômica do emitente (7 dígitos). Must be 7 characters.'
                      example: '4530703'
                      nullable: true
                    CRT:
                      type: string
                      description: 'Código de regime tributário: `1` = Simples Nacional, `2` = Simples Nacional - excesso de sublimite, `3` = Regime Normal.'
                      example: 1
                      enum:
                        - 1
                        - 2
                        - 3
                      nullable: true
                enderEmit:
                  type: object
                  description: ''
                  example: []
                  properties:
                    xLgr:
                      type: string
                      description: 'Logradouro (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'AV SETE DE SETEMBRO'
                      nullable: true
                    nro:
                      type: string
                      description: 'Número (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: '690'
                      nullable: true
                    xCpl:
                      type: string
                      description: 'Complemento (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'SALA 01'
                      nullable: true
                    xBairro:
                      type: string
                      description: 'Bairro (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'OURO PRETO'
                      nullable: true
                    cMun:
                      type: integer
                      description: 'Código do município (conforme tabela do IBGE).'
                      example: 2611101
                      nullable: true
                    xMun:
                      type: string
                      description: 'Nome do município (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: PETROLINA
                      nullable: true
                    UF:
                      type: string
                      description: 'Sigla da UF (2 caracteres). Must be 2 characters.'
                      example: PE
                      nullable: true
                    CEP:
                      type: string
                      description: 'Código do CEP (8 dígitos). Must be 8 characters.'
                      example: '56306610'
                      nullable: true
                    cPais:
                      type: integer
                      description: 'Código do país (conforme tabela do BACEN). Default: 1058 (Brasil).'
                      example: 1058
                      nullable: true
                    xPais:
                      type: string
                      description: 'Nome do país (máx 60 caracteres). Default: BRASIL. Must not be greater than 60 characters.'
                      example: BRASIL
                      nullable: true
                    fone:
                      type: string
                      description: 'Telefone (máx 14 caracteres). Must not be greater than 14 characters.'
                      example: '8738636050'
                      nullable: true
                dest:
                  type: object
                  description: ''
                  example: []
                  properties:
                    CNPJ:
                      type: string
                      description: 'Número do CNPJ do destinatário (14 dígitos) - obrigatório quando não informado CPF ou idEstrangeiro. Must be 14 characters.'
                      example: '00000000000000'
                      nullable: true
                    CPF:
                      type: string
                      description: 'Número do CPF do destinatário (11 dígitos) - obrigatório quando não informado CNPJ ou idEstrangeiro. Must be 11 characters.'
                      example: '00000000000'
                      nullable: true
                    idEstrangeiro:
                      type: string
                      description: 'Identificador do destinatário no caso de comprador estrangeiro (máx 20 caracteres) - obrigatório quando não informado CNPJ ou CPF. Must not be greater than 20 characters.'
                      example: ID123456789
                      nullable: true
                    xNome:
                      type: string
                      description: 'Nome/Razão social do destinatário (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'JOAO SILVA'
                      nullable: true
                    indIEDest:
                      type: string
                      description: 'Indicador da IE do destinatário: `1` = Contribuinte ICMS, `2` = Contribuinte isento de IE, `9` = Não contribuinte.'
                      example: 1
                      enum:
                        - 1
                        - 2
                        - 9
                      nullable: true
                    IE:
                      type: string
                      description: 'Inscrição estadual do destinatário (máx 14 caracteres). Must not be greater than 14 characters.'
                      example: '081054726'
                      nullable: true
                    ISUF:
                      type: string
                      description: 'Inscrição na SUFRAMA (máx 9 caracteres). Must not be greater than 9 characters.'
                      example: '123456789'
                      nullable: true
                    IM:
                      type: string
                      description: 'Inscrição municipal do destinatário (máx 15 caracteres). Must not be greater than 15 characters.'
                      example: '123456789012345'
                      nullable: true
                    email:
                      type: string
                      description: 'Email do destinatário (máx 60 caracteres). Must be a valid email address. Must not be greater than 60 characters.'
                      example: cliente@exemplo.com
                      nullable: true
                enderDest:
                  type: object
                  description: ''
                  example: []
                  properties:
                    xLgr:
                      type: string
                      description: 'Logradouro (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'AVENIDA TRANSNORDESTINA'
                      nullable: true
                    nro:
                      type: string
                      description: 'Número (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: '71'
                      nullable: true
                    xCpl:
                      type: string
                      description: 'Complemento (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'APTO 101'
                      nullable: true
                    xBairro:
                      type: string
                      description: 'Bairro (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'JARDIM AMAZONAS'
                      nullable: true
                    cMun:
                      type: integer
                      description: 'Código do município (conforme tabela do IBGE).'
                      example: 2611101
                      nullable: true
                    xMun:
                      type: string
                      description: 'Nome do município (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: PETROLINA
                      nullable: true
                    UF:
                      type: string
                      description: 'Sigla da UF (2 caracteres). Must be 2 characters.'
                      example: PE
                      nullable: true
                    CEP:
                      type: string
                      description: 'Código do CEP (8 dígitos). Must be 8 characters.'
                      example: '56318750'
                      nullable: true
                    cPais:
                      type: integer
                      description: 'Código do país (conforme tabela do BACEN). Default: 1058 (Brasil).'
                      example: 1058
                      nullable: true
                    xPais:
                      type: string
                      description: 'Nome do país (máx 60 caracteres). Default: BRASIL. Must not be greater than 60 characters.'
                      example: BRASIL
                      nullable: true
                    fone:
                      type: string
                      description: 'Telefone (máx 14 caracteres). Must not be greater than 14 characters.'
                      example: '8738636050'
                      nullable: true
                retirada:
                  type: object
                  description: 'Endereço de retirada da mercadoria (quando diferente do emitente).'
                  example: []
                  properties:
                    CNPJ:
                      type: string
                      description: 'CNPJ do local de retirada (14 dígitos) - obrigatório quando não informado CPF. Must be 14 characters.'
                      example: '00000000000000'
                      nullable: true
                    CPF:
                      type: string
                      description: 'CPF do local de retirada (11 dígitos) - obrigatório quando não informado CNPJ. Must be 11 characters.'
                      example: '00000000000'
                      nullable: true
                    xNome:
                      type: string
                      description: 'Nome/Razão social do local de retirada (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'JOAO SILVA'
                      nullable: true
                    xLgr:
                      type: string
                      description: 'Logradouro (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'AVENIDA TRANSNORDESTINA'
                      nullable: true
                    nro:
                      type: string
                      description: 'Número (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: '71'
                      nullable: true
                    xCpl:
                      type: string
                      description: 'Complemento (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'APTO 101'
                      nullable: true
                    xBairro:
                      type: string
                      description: 'Bairro (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'JARDIM AMAZONAS'
                      nullable: true
                    cMun:
                      type: integer
                      description: 'Código do município (conforme tabela do IBGE).'
                      example: 2611101
                      nullable: true
                    xMun:
                      type: string
                      description: 'Nome do município (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: PETROLINA
                      nullable: true
                    UF:
                      type: string
                      description: 'Sigla da UF (2 caracteres). Must be 2 characters.'
                      example: PE
                      nullable: true
                    CEP:
                      type: string
                      description: 'Código do CEP (8 dígitos). Must be 8 characters.'
                      example: '56318750'
                      nullable: true
                    cPais:
                      type: integer
                      description: 'Código do país (conforme tabela do BACEN).'
                      example: 1058
                      nullable: true
                    xPais:
                      type: string
                      description: 'Nome do país (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: BRASIL
                      nullable: true
                    fone:
                      type: string
                      description: 'Telefone (máx 14 caracteres). Must not be greater than 14 characters.'
                      example: '8738636050'
                      nullable: true
                  nullable: true
                entrega:
                  type: object
                  description: 'Endereço de entrega da mercadoria (quando diferente do destinatário).'
                  example: []
                  properties:
                    CNPJ:
                      type: string
                      description: 'CNPJ do local de entrega (14 dígitos) - obrigatório quando não informado CPF. Must be 14 characters.'
                      example: '00000000000000'
                      nullable: true
                    CPF:
                      type: string
                      description: 'CPF do local de entrega (11 dígitos) - obrigatório quando não informado CNPJ. Must be 11 characters.'
                      example: '00000000000'
                      nullable: true
                    xNome:
                      type: string
                      description: 'Nome/Razão social do local de entrega (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'JOAO SILVA'
                      nullable: true
                    xLgr:
                      type: string
                      description: 'Logradouro (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'AVENIDA TRANSNORDESTINA'
                      nullable: true
                    nro:
                      type: string
                      description: 'Número (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: '71'
                      nullable: true
                    xCpl:
                      type: string
                      description: 'Complemento (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'APTO 101'
                      nullable: true
                    xBairro:
                      type: string
                      description: 'Bairro (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: 'JARDIM AMAZONAS'
                      nullable: true
                    cMun:
                      type: integer
                      description: 'Código do município (conforme tabela do IBGE).'
                      example: 2611101
                      nullable: true
                    xMun:
                      type: string
                      description: 'Nome do município (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: PETROLINA
                      nullable: true
                    UF:
                      type: string
                      description: 'Sigla da UF (2 caracteres). Must be 2 characters.'
                      example: PE
                      nullable: true
                    CEP:
                      type: string
                      description: 'Código do CEP (8 dígitos). Must be 8 characters.'
                      example: '56318750'
                      nullable: true
                    cPais:
                      type: integer
                      description: 'Código do país (conforme tabela do BACEN).'
                      example: 1058
                      nullable: true
                    xPais:
                      type: string
                      description: 'Nome do país (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: BRASIL
                      nullable: true
                    fone:
                      type: string
                      description: 'Telefone (máx 14 caracteres). Must not be greater than 14 characters.'
                      example: '8738636050'
                      nullable: true
                  nullable: true
                det:
                  type: array
                  description: 'Detalhamento dos produtos e serviços da NFe (mínimo 1 item).'
                  example: []
                  items:
                    type: object
                    nullable: true
                    properties:
                      nItem:
                        type: integer
                        description: 'Número sequencial do item (1, 2, 3...). Must be at least 1.'
                        example: 1
                        nullable: true
                      prod:
                        type: object
                        description: ''
                        example: []
                        properties:
                          cProd:
                            type: string
                            description: 'Código do produto ou serviço (máx 60 caracteres). Must not be greater than 60 characters.'
                            example: BR50320C
                            nullable: true
                          cEAN:
                            type: string
                            description: 'Código GTIN (Global Trade Item Number) ou "SEM GTIN" (máx 14 caracteres). Must not be greater than 14 characters.'
                            example: 'SEM GTIN'
                            nullable: true
                          xProd:
                            type: string
                            description: 'Descrição do produto ou serviço (máx 120 caracteres). Must not be greater than 120 characters.'
                            example: 'REGULADOR FREIO S-10 12/.. TRAS/ESQ'
                            nullable: true
                          NCM:
                            type: string
                            description: 'Código NCM (Nomenclatura Comum do Mercosul) - 8 dígitos. Must be 8 characters.'
                            example: '87083019'
                            nullable: true
                          NVE:
                            type: string
                            description: 'Nomenclatura de Valor aduaneiro e Estatística (máx 6 caracteres). Must not be greater than 6 characters.'
                            example: AB0001
                            nullable: true
                          CEST:
                            type: string
                            description: 'Código Especificador da Substituição Tributária (7 dígitos). Must be 7 characters.'
                            example: '0100100'
                            nullable: true
                          indEscala:
                            type: string
                            description: 'Indicador de produção em escala: `S` = Sim, `N` = Não.'
                            example: 'N'
                            enum:
                              - S
                              - 'N'
                            nullable: true
                          CNPJFab:
                            type: string
                            description: 'CNPJ do fabricante da mercadoria (14 dígitos). Must be 14 characters.'
                            example: '00000000000000'
                            nullable: true
                          cBenef:
                            type: string
                            description: 'Código de benefício fiscal na UF aplicado ao item (máx 10 caracteres). Must not be greater than 10 characters.'
                            example: PE123456
                            nullable: true
                          EXTIPI:
                            type: string
                            description: 'Código EX TIPI (máx 3 caracteres). Must not be greater than 3 characters.'
                            example: '001'
                            nullable: true
                          CFOP:
                            type: string
                            description: 'Código Fiscal de Operações e Prestações (4 dígitos). Must be 4 characters.'
                            example: '5405'
                            nullable: true
                          uCom:
                            type: string
                            description: 'Unidade comercial (máx 6 caracteres). Ex: UN, KG, MT, PC. Must not be greater than 6 characters.'
                            example: PC
                            nullable: true
                          qCom:
                            type: number
                            description: 'Quantidade comercial do produto.'
                            example: 1.0
                            nullable: true
                          vUnCom:
                            type: number
                            description: 'Valor unitário comercial.'
                            example: 130.0
                            nullable: true
                          vProd:
                            type: number
                            description: 'Valor total bruto dos produtos ou serviços.'
                            example: 130.0
                            nullable: true
                          cEANTrib:
                            type: string
                            description: 'Código GTIN da unidade tributável ou "SEM GTIN" (máx 14 caracteres). Must not be greater than 14 characters.'
                            example: 'SEM GTIN'
                            nullable: true
                          uTrib:
                            type: string
                            description: 'Unidade tributável (máx 6 caracteres). Must not be greater than 6 characters.'
                            example: PC
                            nullable: true
                          qTrib:
                            type: number
                            description: 'Quantidade tributável.'
                            example: 1.0
                            nullable: true
                          vUnTrib:
                            type: number
                            description: 'Valor unitário de tributação.'
                            example: 130.0
                            nullable: true
                          vFrete:
                            type: number
                            description: 'Valor total do frete.'
                            example: 0.0
                            nullable: true
                          vSeg:
                            type: number
                            description: 'Valor total do seguro.'
                            example: 0.0
                            nullable: true
                          vDesc:
                            type: number
                            description: 'Valor do desconto.'
                            example: 0.0
                            nullable: true
                          vOutro:
                            type: number
                            description: 'Outras despesas acessórias.'
                            example: 0.0
                            nullable: true
                          indTot:
                            type: string
                            description: 'Indica se valor do item compõe valor total da NFe: `0` = Não, `1` = Sim.'
                            example: 1
                            enum:
                              - 0
                              - 1
                            nullable: true
                          xPed:
                            type: string
                            description: 'Número do pedido de compra (máx 15 caracteres). Must not be greater than 15 characters.'
                            example: '43728'
                            nullable: true
                          nItemPed:
                            type: integer
                            description: 'Número do item do pedido de compra.'
                            example: 1
                            nullable: true
                          nFCI:
                            type: string
                            description: 'Número de controle da FCI (Ficha de Conteúdo de Importação) (36 caracteres). Must be 36 characters.'
                            example: 12345678-1234-1234-1234-123456789012
                            nullable: true
                          comb:
                            type: object
                            description: 'Grupo de informações específicas para combustíveis.'
                            example: []
                            properties:
                              cProdANP:
                                type: string
                                description: 'Código do produto da ANP (9 dígitos) - obrigatório quando a tag comb for informada. Must be 9 characters.'
                                example: '210203001'
                                nullable: true
                              descANP:
                                type: string
                                description: 'Descrição do produto conforme cadastro ANP/SIMP (mín 2, máx 95 caracteres) - obrigatória quando a tag comb for informada. Must be at least 2 characters. Must not be greater than 95 characters.'
                                example: 'GLP ENVASADO'
                                nullable: true
                              pGLP:
                                type: number
                                description: 'Percentual do GLP derivado do petróleo no produto GLP. Informar valor decimal entre 0 e 1. Must be between 0 and 1.'
                                example: 0.5
                                nullable: true
                              pGNn:
                                type: number
                                description: 'Percentual de Gás Natural Nacional (GLGNn) no produto GLP. Informar valor decimal entre 0 e 1. Must be between 0 and 1.'
                                example: 0.3
                                nullable: true
                              pGNi:
                                type: number
                                description: 'Percentual de Gás Natural Importado (GLGNi) no produto GLP. Informar valor decimal entre 0 e 1. Must be between 0 and 1.'
                                example: 0.2
                                nullable: true
                              vPart:
                                type: number
                                description: 'Valor de partida por quilograma sem ICMS para GLP, quando aplicável.'
                                example: 100.25
                                nullable: true
                              CODIF:
                                type: string
                                description: 'Código de autorização ou registro do CODIF, quando exigido pela UF. Must not be greater than 21 characters.'
                                example: ABC123456789
                                nullable: true
                              qTemp:
                                type: number
                                description: 'Quantidade de combustível faturada à temperatura ambiente, quando a quantidade comercial tiver sido ajustada.'
                                example: 12.1234
                                nullable: true
                              UFCons:
                                type: string
                                description: 'Sigla da UF de consumo do combustível (2 caracteres) - obrigatória quando a tag comb for informada. Must be 2 characters.'
                                example: PE
                                nullable: true
                              qBCProd:
                                type: number
                                description: 'Base de cálculo da CIDE em quantidade. Se um campo de CIDE for informado, os três devem ser enviados juntos.'
                                example: 10.0
                                nullable: true
                              vAliqProd:
                                type: number
                                description: 'Valor da alíquota da CIDE por unidade. Se um campo de CIDE for informado, os três devem ser enviados juntos.'
                                example: 1.25
                                nullable: true
                              vCIDE:
                                type: number
                                description: 'Valor total da CIDE. Se um campo de CIDE for informado, os três devem ser enviados juntos.'
                                example: 12.5
                                nullable: true
                              encerrante:
                                type: object
                                description: 'Grupo de encerrante para operações de abastecimento.'
                                example: []
                                properties:
                                  nBico:
                                    type: integer
                                    description: 'Número de identificação do bico utilizado no abastecimento - obrigatório quando a tag encerrante for informada.'
                                    example: 1
                                    nullable: true
                                  nBomba:
                                    type: integer
                                    description: 'Número de identificação da bomba à qual o bico está interligado.'
                                    example: 2
                                    nullable: true
                                  nTanque:
                                    type: integer
                                    description: 'Número de identificação do tanque ao qual o bico está interligado - obrigatório quando a tag encerrante for informada.'
                                    example: 3
                                    nullable: true
                                  vEncIni:
                                    type: number
                                    description: 'Valor do encerrante no início do abastecimento - obrigatório quando a tag encerrante for informada.'
                                    example: 100.123
                                    nullable: true
                                  vEncFin:
                                    type: number
                                    description: 'Valor do encerrante no final do abastecimento - obrigatório quando a tag encerrante for informada.'
                                    example: 110.123
                                    nullable: true
                                nullable: true
                            nullable: true
                      imposto:
                        type: object
                        description: ''
                        example: []
                        properties:
                          vTotTrib:
                            type: number
                            description: 'Valor aproximado total de tributos federais, estaduais e municipais.'
                            example: 42.63
                            nullable: true
                          ICMS:
                            type: array
                            description: ''
                            example:
                              - []
                            items:
                              type: object
                              properties:
                                orig:
                                  type: string
                                  description: 'Origem da mercadoria: `0` = Nacional, `1` = Estrangeira - Importação direta, `2` = Estrangeira - Adquirida no mercado interno, `3` = Nacional - mercadoria ou bem com conteúdo de importação superior a 40% e inferior ou igual a 70%, `4` = Nacional - cuja produção tenha sido feita em conformidade com os processos produtivos básicos de que tratam as legislações citadas nos Ajustes, `5` = Nacional - mercadoria ou bem com conteúdo de importação inferior ou igual a 40%, `6` = Estrangeira - Importação direta, sem similar nacional, constante em lista da CAMEX e gás natural, `7` = Estrangeira - Adquirida no mercado interno, sem similar nacional, constante em lista da CAMEX e gás natural, `8` = Nacional - mercadoria ou bem com conteúdo de importação superior a 70%.'
                                  example: 0
                                  enum:
                                    - 0
                                    - 1
                                    - 2
                                    - 3
                                    - 4
                                    - 5
                                    - 6
                                    - 7
                                    - 8
                                  nullable: true
                                CST:
                                  type: string
                                  description: 'Código de Situação Tributária do ICMS.'
                                  example: '00'
                                  enum:
                                    - 0
                                    - 10
                                    - 20
                                    - 30
                                    - 40
                                    - 41
                                    - 50
                                    - 51
                                    - 60
                                    - 70
                                    - 90
                                  nullable: true
                                CSOSN:
                                  type: string
                                  description: 'Código de Situação da Operação no Simples Nacional: `101` = Tributada pelo Simples Nacional com permissão de crédito, `102` = Tributada pelo Simples Nacional sem permissão de crédito, `103` = Isenção do ICMS no Simples Nacional para faixa de receita bruta, `201` = Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por substituição tributária, `202` = Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por substituição tributária, `203` = Isenção do ICMS no Simples Nacional para faixa de receita bruta e com cobrança do ICMS por substituição tributária, `300` = Imune, `400` = Não tributada pelo Simples Nacional, `500` = ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação, `900` = Outros.'
                                  example: '500'
                                  enum:
                                    - 101
                                    - 102
                                    - 103
                                    - 201
                                    - 202
                                    - 203
                                    - 300
                                    - 400
                                    - 500
                                    - 900
                                  nullable: true
                                modBC:
                                  type: string
                                  description: 'Modalidade de determinação da BC do ICMS: `0` = Margem Valor Agregado (%), `1` = Pauta (Valor), `2` = Preço Tabelado Máx. (valor), `3` = Valor da operação.'
                                  example: 3
                                  enum:
                                    - 0
                                    - 1
                                    - 2
                                    - 3
                                  nullable: true
                                vBC:
                                  type: number
                                  description: 'Valor da BC do ICMS.'
                                  example: 130.0
                                  nullable: true
                                pICMS:
                                  type: number
                                  description: 'Alíquota do imposto.'
                                  example: 18.0
                                  nullable: true
                                vICMS:
                                  type: number
                                  description: 'Valor do ICMS.'
                                  example: 23.4
                                  nullable: true
                                vBCSTRet:
                                  type: number
                                  description: 'Valor da BC do ICMS ST retido.'
                                  example: 0.0
                                  nullable: true
                                pST:
                                  type: number
                                  description: 'Alíquota suportada pelo Consumidor Final (%).'
                                  example: 17.0
                                  nullable: true
                                vICMSSubstituto:
                                  type: number
                                  description: 'Valor do ICMS Próprio do Substituto cobrado em operação anterior.'
                                  example: 0.0
                                  nullable: true
                                vICMSSTRet:
                                  type: number
                                  description: 'Valor do ICMS ST retido.'
                                  example: 0.0
                                  nullable: true
                          PIS:
                            type: array
                            description: ''
                            example:
                              - []
                            items:
                              type: object
                              properties:
                                CST:
                                  type: string
                                  description: 'Código de Situação Tributária do PIS: `01` = Operação Tributável (base de cálculo = valor da operação alíquota normal - cumulativo/não cumulativo), `02` = Operação Tributável (base de cálculo = valor da operação (alíquota diferenciada)), `03` = Operação Tributável (base de cálculo = quantidade vendida x alíquota por unidade de produto), `04` = Operação Tributável (tributação monofásica (alíquota zero)), `05` = Operação Tributável (Substituição Tributária), `06` = Operação Tributável (alíquota zero), `07` = Operação Isenta da Contribuição, `08` = Operação Sem Incidência da Contribuição, `09` = Operação com Suspensão da Contribuição, `49` = Outras Operações de Saída, `50` = Operação com Direito a Crédito - Vinculada Exclusivamente a Receita Tributada no Mercado Interno, `51` = Operação com Direito a Crédito - Vinculada Exclusivamente a Receita Não Tributada no Mercado Interno, `52` = Operação com Direito a Crédito - Vinculada Exclusivamente a Receita de Exportação, `53` = Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, `54` = Operação com Direito a Crédito - Vinculada a Receitas Tributadas no Mercado Interno e de Exportação, `55` = Operação com Direito a Crédito - Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação, `56` = Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação, `60` = Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno, `61` = Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno, `62` = Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação, `63` = Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, `64` = Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação, `65` = Crédito Presumido - Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação, `66` = Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação, `67` = Crédito Presumido - Outras Operações, `70` = Operação de Aquisição sem Direito a Crédito, `71` = Operação de Aquisição com Isenção, `72` = Operação de Aquisição com Suspensão, `73` = Operação de Aquisição a Alíquota Zero, `74` = Operação de Aquisição sem Incidência da Contribuição, `75` = Operação de Aquisição por Substituição Tributária, `98` = Outras Operações de Entrada, `99` = Outras Operações.'
                                  example: '04'
                                  enum:
                                    - 1
                                    - 2
                                    - 3
                                    - 4
                                    - 5
                                    - 6
                                    - 7
                                    - 8
                                    - 9
                                    - 49
                                    - 50
                                    - 51
                                    - 52
                                    - 53
                                    - 54
                                    - 55
                                    - 56
                                    - 60
                                    - 61
                                    - 62
                                    - 63
                                    - 64
                                    - 65
                                    - 66
                                    - 67
                                    - 70
                                    - 71
                                    - 72
                                    - 73
                                    - 74
                                    - 75
                                    - 98
                                    - 99
                                  nullable: true
                                vBC:
                                  type: number
                                  description: 'Valor da BC do PIS.'
                                  example: 130.0
                                  nullable: true
                                pPIS:
                                  type: number
                                  description: 'Alíquota do PIS (em percentual).'
                                  example: 1.65
                                  nullable: true
                                vPIS:
                                  type: number
                                  description: 'Valor do PIS.'
                                  example: 2.15
                                  nullable: true
                          COFINS:
                            type: array
                            description: ''
                            example:
                              - []
                            items:
                              type: object
                              properties:
                                CST:
                                  type: string
                                  description: 'Código de Situação Tributária da COFINS (mesmos códigos do PIS).'
                                  example: '04'
                                  enum:
                                    - 1
                                    - 2
                                    - 3
                                    - 4
                                    - 5
                                    - 6
                                    - 7
                                    - 8
                                    - 9
                                    - 49
                                    - 50
                                    - 51
                                    - 52
                                    - 53
                                    - 54
                                    - 55
                                    - 56
                                    - 60
                                    - 61
                                    - 62
                                    - 63
                                    - 64
                                    - 65
                                    - 66
                                    - 67
                                    - 70
                                    - 71
                                    - 72
                                    - 73
                                    - 74
                                    - 75
                                    - 98
                                    - 99
                                  nullable: true
                                vBC:
                                  type: number
                                  description: 'Valor da BC da COFINS.'
                                  example: 130.0
                                  nullable: true
                                pCOFINS:
                                  type: number
                                  description: 'Alíquota da COFINS (em percentual).'
                                  example: 7.6
                                  nullable: true
                                vCOFINS:
                                  type: number
                                  description: 'Valor da COFINS.'
                                  example: 9.88
                                  nullable: true
                          IBSCBS:
                            type: array
                            description: ''
                            example:
                              - []
                            items:
                              type: object
                              properties:
                                vBC:
                                  type: number
                                  description: ''
                                  example: 6257.8
                                  nullable: true
                                CST:
                                  type: number
                                  description: ''
                                  example: 2332486.85
                                  nullable: true
                                cClassTrib:
                                  type: number
                                  description: ''
                                  example: 1.0
                                  nullable: true
                          IPI:
                            type: object
                            description: ''
                            example: []
                            properties:
                              clEnq:
                                type: string
                                description: 'Classe de enquadramento do IPI para Cigarros e Bebidas (5 dígitos). Must be 5 characters.'
                                example: '12345'
                                nullable: true
                              CNPJProd:
                                type: string
                                description: 'CNPJ do produtor da mercadoria, quando diferente do emitente (14 dígitos). Must be 14 characters.'
                                example: '00000000000000'
                                nullable: true
                              cSelo:
                                type: string
                                description: 'Código do selo de controle IPI (máx 60 caracteres). Must not be greater than 60 characters.'
                                example: SELO123456
                                nullable: true
                              qSelo:
                                type: integer
                                description: 'Quantidade de selo de controle IPI.'
                                example: 1
                                nullable: true
                              cEnq:
                                type: string
                                description: 'Código de Enquadramento Legal do IPI (3 dígitos). Must be 3 characters.'
                                example: '999'
                                nullable: true
                              CST:
                                type: string
                                description: 'Código da Situação Tributária do IPI: `00` = Entrada com recuperação de crédito, `01` = Entrada tributada com alíquota zero, `02` = Entrada isenta, `03` = Entrada não-tributada, `04` = Entrada imune, `05` = Entrada com suspensão, `49` = Outras entradas, `50` = Saída tributada, `51` = Saída tributada com alíquota zero, `52` = Saída isenta, `53` = Saída não-tributada, `54` = Saída imune, `55` = Saída com suspensão, `99` = Outras saídas.'
                                example: '50'
                                enum:
                                  - 0
                                  - 1
                                  - 2
                                  - 3
                                  - 4
                                  - 5
                                  - 49
                                  - 50
                                  - 51
                                  - 52
                                  - 53
                                  - 54
                                  - 55
                                  - 99
                                nullable: true
                              vBC:
                                type: number
                                description: 'Valor da BC do IPI.'
                                example: 130.0
                                nullable: true
                              pIPI:
                                type: number
                                description: 'Alíquota do IPI.'
                                example: 10.0
                                nullable: true
                              qUnid:
                                type: number
                                description: 'Quantidade total na unidade padrão para tributação (somente para os produtos tributados por unidade).'
                                example: 1.0
                                nullable: true
                              vUnid:
                                type: number
                                description: 'Valor por Unidade Tributável (somente para os produtos tributados por unidade).'
                                example: 13.0
                                nullable: true
                              vIPI:
                                type: number
                                description: 'Valor do IPI.'
                                example: 13.0
                                nullable: true
                          II:
                            type: object
                            description: ''
                            example: []
                            properties:
                              vBC:
                                type: number
                                description: 'Valor da BC do Imposto de Importação.'
                                example: 130.0
                                nullable: true
                              vDespAdu:
                                type: number
                                description: 'Valor das despesas aduaneiras.'
                                example: 5.0
                                nullable: true
                              vII:
                                type: number
                                description: 'Valor do Imposto de Importação.'
                                example: 15.0
                                nullable: true
                              vIOF:
                                type: number
                                description: 'Valor do IOF (Imposto sobre Operações Financeiras).'
                                example: 2.0
                                nullable: true
                total:
                  type: object
                  description: ''
                  example: []
                  properties:
                    ICMSTot:
                      type: object
                      description: ''
                      example: []
                      properties:
                        vBC:
                          type: number
                          description: 'BC do ICMS.'
                          example: 0.0
                          nullable: true
                        vICMS:
                          type: number
                          description: 'Valor Total do ICMS.'
                          example: 0.0
                          nullable: true
                        vICMSDeson:
                          type: number
                          description: 'Valor Total do ICMS desonerado.'
                          example: 0.0
                          nullable: true
                        vFCP:
                          type: number
                          description: 'Valor Total do FCP (Fundo de Combate à Pobreza).'
                          example: 0.0
                          nullable: true
                        vBCST:
                          type: number
                          description: 'BC do ICMS ST.'
                          example: 0.0
                          nullable: true
                        vST:
                          type: number
                          description: 'Valor Total do ICMS ST.'
                          example: 0.0
                          nullable: true
                        vFCPST:
                          type: number
                          description: 'Valor Total do FCP (Fundo de Combate à Pobreza) retido por substituição tributária.'
                          example: 0.0
                          nullable: true
                        vFCPSTRet:
                          type: number
                          description: 'Valor Total do FCP retido anteriormente por Substituição Tributária.'
                          example: 0.0
                          nullable: true
                        vProd:
                          type: number
                          description: 'Valor Total dos produtos e serviços.'
                          example: 130.0
                          nullable: true
                        vFrete:
                          type: number
                          description: 'Valor Total do Frete.'
                          example: 0.0
                          nullable: true
                        vSeg:
                          type: number
                          description: 'Valor Total do Seguro.'
                          example: 0.0
                          nullable: true
                        vDesc:
                          type: number
                          description: 'Valor Total do Desconto.'
                          example: 0.0
                          nullable: true
                        vII:
                          type: number
                          description: 'Valor Total do II (Imposto de Importação).'
                          example: 0.0
                          nullable: true
                        vIPI:
                          type: number
                          description: 'Valor Total do IPI.'
                          example: 0.0
                          nullable: true
                        vIPIDevol:
                          type: number
                          description: 'Valor Total do IPI devolvido.'
                          example: 0.0
                          nullable: true
                        vPIS:
                          type: number
                          description: 'Valor do PIS.'
                          example: 0.0
                          nullable: true
                        vCOFINS:
                          type: number
                          description: 'Valor da COFINS.'
                          example: 0.0
                          nullable: true
                        vOutro:
                          type: number
                          description: 'Outras Despesas acessórias.'
                          example: 0.0
                          nullable: true
                        vNF:
                          type: number
                          description: 'Valor Total da NFe.'
                          example: 130.0
                          nullable: true
                        vTotTrib:
                          type: number
                          description: 'Valor aproximado total de tributos federais, estaduais e municipais.'
                          example: 42.63
                          nullable: true
                transp:
                  type: object
                  description: ''
                  example: []
                  properties:
                    modFrete:
                      type: string
                      description: 'Modalidade do frete: `0` = Por conta do emitente, `1` = Por conta do destinatário/remetente, `2` = Por conta de terceiros, `3` = Transporte próprio por conta do remetente, `4` = Transporte próprio por conta do destinatário, `9` = Sem Ocorrência de Transporte.'
                      example: 0
                      enum:
                        - 0
                        - 1
                        - 2
                        - 3
                        - 4
                        - 9
                      nullable: true
                    transporta:
                      type: object
                      description: ''
                      example: null
                      properties:
                        CNPJ:
                          type: string
                          description: 'CNPJ da transportadora (14 dígitos). Must be 14 characters.'
                          example: '00000000000000'
                          nullable: true
                        CPF:
                          type: string
                          description: 'CPF da transportadora (11 dígitos). Must be 11 characters.'
                          example: '12345678901'
                          nullable: true
                        xNome:
                          type: string
                          description: 'Razão Social ou nome da transportadora. Must not be greater than 60 characters.'
                          example: 'Transportadora Exemplo Ltda'
                          nullable: true
                        IE:
                          type: string
                          description: 'Inscrição Estadual da transportadora. Must not be greater than 14 characters.'
                          example: '123456789'
                          nullable: true
                        xEnder:
                          type: string
                          description: 'Endereço completo da transportadora. Must not be greater than 60 characters.'
                          example: 'Rua das Flores, 123, Centro'
                          nullable: true
                        xMun:
                          type: string
                          description: 'Nome do município da transportadora. Must not be greater than 60 characters.'
                          example: 'São Paulo'
                          nullable: true
                        UF:
                          type: string
                          description: 'Sigla da UF da transportadora. Must be 2 characters.'
                          example: SP
                          nullable: true
                      nullable: true
                    retTransp:
                      type: object
                      description: ''
                      example: null
                      properties:
                        vServ:
                          type: number
                          description: 'Valor do Serviço.'
                          example: 150.0
                          nullable: true
                        vBCRet:
                          type: number
                          description: 'BC da Retenção do ICMS.'
                          example: 150.0
                          nullable: true
                        pICMSRet:
                          type: number
                          description: 'Alíquota da Retenção.'
                          example: 12.0
                          nullable: true
                        vICMSRet:
                          type: number
                          description: 'Valor do ICMS Retido.'
                          example: 18.0
                          nullable: true
                        CFOP:
                          type: string
                          description: 'Código Fiscal de Operações e Prestações. Must be 4 characters.'
                          example: '5353'
                          nullable: true
                        cMunFG:
                          type: integer
                          description: 'Código do município de ocorrência do fato gerador (IBGE).'
                          example: 3550308
                          nullable: true
                      nullable: true
                    veicTransp:
                      type: object
                      description: ''
                      example: null
                      properties:
                        placa:
                          type: string
                          description: 'Placa do veículo. Must not be greater than 8 characters.'
                          example: ABC1234
                          nullable: true
                        UF:
                          type: string
                          description: 'UF em que veículo está licenciado. Must be 2 characters.'
                          example: SP
                          nullable: true
                        RNTC:
                          type: string
                          description: 'Registro Nacional de Transportador de Carga (ANTT). Must not be greater than 20 characters.'
                          example: '12345678'
                          nullable: true
                      nullable: true
                    reboque:
                      type: array
                      description: ''
                      example: null
                      items:
                        type: object
                        nullable: true
                        properties:
                          placa:
                            type: string
                            description: 'Placa do reboque. Must not be greater than 8 characters.'
                            example: DEF5678
                            nullable: true
                          UF:
                            type: string
                            description: 'UF em que reboque está licenciado. Must be 2 characters.'
                            example: SP
                            nullable: true
                          RNTC:
                            type: string
                            description: 'Registro Nacional de Transportador de Carga do reboque. Must not be greater than 20 characters.'
                            example: '87654321'
                            nullable: true
                    vol:
                      type: object
                      description: ''
                      example: null
                      properties:
                        qVol:
                          type: integer
                          description: ''
                          example: 19
                          nullable: true
                        esp:
                          type: string
                          description: 'Must not be greater than 60 characters.'
                          example: snwjtfpgzvnvttrd
                          nullable: true
                        marca:
                          type: string
                          description: 'Must not be greater than 60 characters.'
                          example: wivgkaaquvnkm
                          nullable: true
                        nVol:
                          type: string
                          description: 'Must not be greater than 60 characters.'
                          example: brwfgiyxehclnuzhluwikrxn
                          nullable: true
                        pesoL:
                          type: number
                          description: ''
                          example: 261980.38
                          nullable: true
                        pesoB:
                          type: number
                          description: ''
                          example: 3035926.0
                          nullable: true
                      nullable: true
                pag:
                  type: object
                  description: ''
                  example: []
                  properties:
                    detPag:
                      type: array
                      description: 'Grupo de detalhamento da forma de pagamento.'
                      example: []
                      items:
                        type: object
                        nullable: true
                        properties:
                          indPag:
                            type: string
                            description: 'Indicador da Forma de Pagamento: `0` = Pagamento à vista, `1` = Pagamento à prazo, `2` = Outros.'
                            example: 0
                            enum:
                              - 0
                              - 1
                              - 2
                            nullable: true
                          tPag:
                            type: string
                            description: 'Forma de pagamento: `01` = Dinheiro, `02` = Cheque, `03` = Cartão de Crédito, `04` = Cartão de Débito, `05` = Crédito Loja, `10` = Vale Alimentação, `11` = Vale Refeição, `12` = Vale Presente, `13` = Vale Combustível, `14` = Duplicata Mercantil, `15` = Boleto Bancário, `16` = Depósito Bancário, `17` = Pagamento Instantâneo (PIX), `18` = Transferência bancária, Carteira Digital, `19` = Programa de fidelidade, Cashback, Crédito Virtual, `90` = Sem pagamento, `99` = Outros. Must not be greater than 2 characters.'
                            example: '01'
                            nullable: true
                          vPag:
                            type: number
                            description: 'Valor do Pagamento.'
                            example: 130.0
                            nullable: true
                          tpIntegra:
                            type: string
                            description: ''
                            example: 1
                            enum:
                              - 1
                              - 2
                            nullable: true
                          CNPJ:
                            type: string
                            description: 'Must be 14 characters.'
                            example: xjutnspslnhvnw
                            nullable: true
                          tBand:
                            type: string
                            description: ''
                            example: 13
                            enum:
                              - 1
                              - 2
                              - 3
                              - 4
                              - 5
                              - 6
                              - 7
                              - 8
                              - 9
                              - 10
                              - 11
                              - 12
                              - 13
                              - 14
                              - 15
                              - 16
                              - 17
                              - 18
                              - 19
                              - 20
                              - 99
                            nullable: true
                          cAut:
                            type: string
                            description: 'Must not be greater than 128 characters.'
                            example: rkduoebpwteqibvpatomllymk
                            nullable: true
                    vTroco:
                      type: number
                      description: 'Valor do troco.'
                      example: 5.0
                      nullable: true
                infAdic:
                  type: object
                  description: ''
                  example: []
                  properties:
                    infAdFisco:
                      type: string
                      description: 'Informações adicionais de interesse do Fisco (máx 2000 caracteres). Must not be greater than 2000 characters.'
                      example: 'Informações adicionais do fisco'
                      nullable: true
                    infCpl:
                      type: string
                      description: 'Informações complementares de interesse do Contribuinte (máx 5000 caracteres). Must not be greater than 5000 characters.'
                      example: 'MD-5: .ICMS PAGO ANTERIORMENTE POR SUBST. TRIBUTARIA CONF. DECRETO N: 35.679/2010 E 33.205 DE 27/03/2009'
                      nullable: true
                infRespTec:
                  type: object
                  description: ''
                  example: []
                  properties:
                    CNPJ:
                      type: string
                      description: 'CNPJ da pessoa jurídica responsável pelo sistema utilizado na emissão do documento fiscal eletrônico (14 dígitos). Must be 14 characters.'
                      example: '00000000000000'
                      nullable: true
                    xContato:
                      type: string
                      description: 'Nome da pessoa a ser contatada (máx 60 caracteres). Must not be greater than 60 characters.'
                      example: Programador
                      nullable: true
                    email:
                      type: string
                      description: 'E-mail da pessoa jurídica a ser contatada (máx 60 caracteres). Must be a valid email address. Must not be greater than 60 characters.'
                      example: contato@devnota.com.br
                      nullable: true
                    fone:
                      type: string
                      description: 'Telefone da pessoa jurídica/física a ser contatada (máx 14 caracteres). Must not be greater than 14 characters.'
                      example: '1937553000'
                      nullable: true
              required:
                - ambiente
  /api/nfe/cancelar:
    post:
      summary: 'Cancel NFe'
      operationId: cancelNFe
      description: 'Cancel an existing electronic invoice (NFe)'
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 3051
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 3051
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The chave field is required.'
                  errors:
                    chave:
                      - 'The chave field is required.'
                properties:
                  message:
                    type: string
                    example: 'The chave field is required.'
                  errors:
                    type: object
                    properties:
                      chave:
                        type: array
                        example:
                          - 'The chave field is required.'
                        items:
                          type: string
      tags:
        - 'NFe management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callback:
                  type: string
                  description: ''
                  example: null
                ambiente:
                  type: string
                  description: ''
                  example: production
                  enum:
                    - production
                    - developer
                chave:
                  type: string
                  description: 'Must be 44 characters.'
                  example: tvtgyeayclovvzirzciyudoouibgefrlqmlukxczdkjy
                protocolo:
                  type: string
                  description: ''
                  example: rerum
                justificativa:
                  type: string
                  description: 'Must be at least 15 characters. Must not be greater than 255 characters.'
                  example: oqyburzadbyxks
              required:
                - ambiente
                - chave
                - protocolo
                - justificativa
  /api/nfe/cce:
    post:
      summary: 'Correction Letter NFe'
      operationId: correctionLetterNFe
      description: 'Correct an existing electronic invoice (NFe)'
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  protocolo: 3051
                  status: processando
                properties:
                  protocolo:
                    type: integer
                    example: 3051
                  status:
                    type: string
                    example: processando
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The chave field is required.'
                  errors:
                    chave:
                      - 'The chave field is required.'
                properties:
                  message:
                    type: string
                    example: 'The chave field is required.'
                  errors:
                    type: object
                    properties:
                      chave:
                        type: array
                        example:
                          - 'The chave field is required.'
                        items:
                          type: string
      tags:
        - 'NFe management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callback:
                  type: string
                  description: 'Callback URL to receive the response.'
                  example: 'https://example.com/callback'
                ambiente:
                  type: string
                  description: 'Environment to use.'
                  example: 'production or developer'
                  enum:
                    - production
                    - developer
                chave:
                  type: string
                  description: 'NFe key to be corrected. Must be 44 characters.'
                  example: '43190512345678000123550010000000011000000011'
                correcao:
                  type: string
                  description: 'Correction text for the CCe. Must not be greater than 1000 characters. Must be at least 15 characters.'
                  example: 'Correction of the invoice data as per agreement.'
                sequencial:
                  type: integer
                  description: 'Sequential number of the CCe (1-99). Must be at least 1. Must not be greater than 99.'
                  example: 1
              required:
                - ambiente
                - chave
                - correcao
                - sequencial
  /api/nfe/dist:
    get:
      summary: 'Distribution NFe'
      operationId: distributionNFe
      description: 'Retrieve distributed electronic invoices (NFe)'
      parameters:
        -
          in: header
          name: Company
          description: ''
          example: '{YOUR_COMPANY_CNPJ}'
          schema:
            type: string
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: Unauthenticated.
                  error: AuthenticationException
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Unauthenticated.
                  error:
                    type: string
                    example: AuthenticationException
      tags:
        - 'NFe management'
