{"swagger":"2.0","info":{"description":"","version":"1.105.0","title":"Qive API"},"host":"api.arquivei.com.br","tags":[{"name":"NFe","description":"Endpoints utilizados para operações com Notas Fiscais Eletrônicas (NFe).\nCada tipo de conteúdo é obtido por um endpoint específico deste grupo:\n - **XML**: `/v2/dfe/nfe` e `/v1/nfe/{role}` — retornam o XML e os metadados da nota.\n   **Estes endpoints não retornam PDF.**\n - **PDF (DANFe)**: `/v1/nfe/danfe` — único endpoint que retorna o PDF, em base64.\n - **Eventos**: `/v1/dfe/nfe/events`, `/v1/events/nfe` e `/v2/nfe/events`.\nO grupo também permite realizar a Manifestação do Destinatário e fazer a aplicação de valores para as Properties.\nNos endpoints de busca por papel (`/v1/nfe/{role}`), o 'role' faz parte da URL requisitada: Ex: /v1/nfe/received\n - received - recebedor\n - emitted - emissor\n - transporter - tranportadora\n - authorized - autorizado - CNPJ/CPF mencionado no campo autXML.\nJá o endpoint `/v2/dfe/nfe` não utiliza o 'role' na URL: o papel é informado pelo filtro `OwnerRoles`, no corpo da requisição."},{"name":"NFSe","description":"Endpoints utilizados para operações com Notas Fiscais de Serviço Eletrônicas (NFS-e).\nCada tipo de conteúdo é obtido por um endpoint específico deste grupo:\n - **XML**: `/v1/dfe/nfse`, `/v1/nfse/{role}` e `/v2/nfse/received` — retornam o XML (padrão ABRASF) e os metadados da nota.\n   **Estes endpoints não retornam PDF.**\n - **PDF (DANFSe)**: `/v1/nfse/danfse` — endpoint que retorna o Documento Auxiliar gerado pela Qive, em base64.\n - **PDF original de NFS-e de OCR**: `/v1/nfse/{role}/manual/pdf` — retorna o arquivo PDF original das notas ingeridas pelo fluxo de OCR.\n - **Eventos**: `/v1/nfse/events`.\nO grupo também permite fazer a aplicação de valores para as Properties.\nNos endpoints de busca por papel (`/v1/nfse/{role}`), o 'role' faz parte da URL requisitada: Ex: /v1/nfse/received\n - received - tomador\n - emitted - emissor\nJá o endpoint `/v1/dfe/nfse` não utiliza o 'role' na URL: o papel é informado no filtro `ownerRoles`, no corpo da requisição."},{"name":"CTe","description":"Endpoints utilizados para operações com Conhecimento de Transporte Eletrônico (CT-e).\nCada tipo de conteúdo é obtido por um endpoint específico deste grupo:\n - **XML**: `/v1/dfe/cte` e `/v1/cte/{role}` — retornam o XML e os metadados do documento.\n   **Estes endpoints não retornam PDF.**\n - **PDF (DACTe)**: `/v1/cte/dacte` — único endpoint que retorna o PDF, em base64.\n - **Eventos**: `/v1/cte/events` e `/v2/cte/events`.\nO grupo também permite realizar o upload de CT-es e fazer a aplicação de valores para as Properties.\nNos endpoints de busca por papel (`/v1/cte/{role}`), o 'role' faz parte da URL requisitada: Ex: /v1/cte/taker\n- taker - tomador\n- not-taker - não tomador\n- authorized - autorizado - CNPJ/CPF mencionado no campo autXML.\nJá o endpoint `/v1/dfe/cte` não utiliza o 'role' na URL: para restringir por papel, utilize o filtro `IsTaker` no corpo da requisição."},{"name":"CTe-OS","description":"Endpoints utilizados para operações com Conhecimento de Transporte Eletrônico - Outros Serviços (CT-e OS).\nCada tipo de conteúdo é obtido por um endpoint específico deste grupo:\n - **XML**: `/v1/dfe/cteos` e `/v1/cte-os/{role}` — retornam o XML e os metadados do documento.\n   **Estes endpoints não retornam PDF.**\n - **PDF (DACTe-OS)**: `/v1/cte-os/dacteos` — único endpoint que retorna o PDF, em base64.\n - **Eventos**: `/v1/cte-os/events`.\nO grupo também permite fazer a aplicação de valores para as Properties.\nNos endpoints de busca por papel (`/v1/cte-os/{role}`), o 'role' faz parte da URL requisitada: Ex: /v1/cte-os/taker\n - taker - tomador\n - not-taker - não tomador\nJá o endpoint `/v1/dfe/cteos` não utiliza o 'role' na URL e não possui filtro por papel: ele retorna os documentos de todos os papéis dos CNPJs informados em `Owners`."},{"name":"NFCe","description":"Endpoints utilizados para operações com Nota Fiscal de Consumidor Eletrônica(NFCe).\nNeste grupo é possível buscar os XMLs de NFCes.\nOs endpoints estão distribuidos por papel do Owner na nota:\n - emitted - emissor\""},{"name":"MDFe","description":"Endpoints utilizados para operações com Manifesto Eletrônico de Documentos Fiscais (MDFe).\nNeste grupo é possível buscar os XMLs e eventos de MDFes com filtros avançados."},{"name":"FlagErp","description":"Endpoints utilizados para operações com Documentos Fiscais Eletrônicos (DFes) de todos os tipos."},{"name":"Etiquetas","description":"Endpoints disponíveis para operações de listagem de Etiquetas da conta e listagem/aplicação/remoção de etiquetas de documentos."},{"name":"Upload","description":"Endpoints utilizados para operações com Documentos Fiscais Eletrônicos (DFes) de todos os tipos."},{"name":"Empresas","description":"Operações nas empresas cadastradas na API. Neste grupo é possível listar as empresas as quais suas credenciais possuem acesso."},{"name":"Property","description":"Properties cadastradas na API. Neste grupo é possível listar as properties as quais suas credenciais possuem acesso."},{"name":"Gestão de Pagamentos - Boletos","description":"Endpoints utilizados para operações com Boletos com Notas.\nNeste grupo é possível buscar por boletos a partir de uma série de filtros"},{"name":"Gestão de Pagamentos - Comprovantes","description":"Endpoints utilizados para consulta dos comprovantes de pagamento da conta.\n\nOs comprovantes têm duas origens, expostas no campo `Source`: `manual`, para os comprovantes enviados pelo cliente e processados pela Qive, e `automatico`, para os capturados pela conexão bancária. Independentemente da origem, o PDF é entregue no layout padrão da Qive."},{"name":"Invoice","description":"Endpoints utilizados para operações com Invoices - faturas internacionais obtidas por meio do processo de OCR.\nNeste grupo é possível buscar por Invoices processadas, junto a seus dados; buscar PDF de uma invoice e fazer o envio de um arquivo de Invoice (PDF) para o processo de OCR."},{"name":"Utilities","description":"Endpoints utilizados para operações com Notas de Utilities - faturas de companhias de eletricidade, telefonia, etc obtidas por meio do processo de OCR.\nNeste grupo é possível buscar por Utilities processadas, junto a seus dados; buscar PDF de uma Utility e fazer o envio de um arquivo de Invoice (PDF) para o processo de OCR."},{"name":"OCR","description":"Endpoints utilizados para operações relacionadas a OCR.\nNeste grupo é possível realizar upload de documentos em PDF para OCR e acompanhar o status do processamento."},{"name":"LATAM","description":"Endpoints utilizados para operações com documentos LATAM.\nNeste grupo é possível fazer o upload, obter o xml e o json parseado de documentos LATAM."},{"name":"Dados - CNPJs","description":"Endpoints utilizados para retornar dados públicos de CNPJs."},{"name":"Eventos em Lote","description":"Endpoints utilizados para processamento de eventos em lote (event batch).\nNeste grupo é possível submeter um lote de eventos para processamento assíncrono e consultar o status do processamento.\nSuporta eventos de CT-e/CT-e OS (`tp_evento` `610110` ou `610111`) e de NF-e (Manifestação do Destinatário, eventos de Destinatário/Emitente/Sucessora da reforma tributária e Cancelamento — ver a lista completa de códigos em `tp_evento` de `EventBatchRequest`). Um mesmo lote não pode misturar tipos de documento diferentes."},{"name":"Webhooks","description":"Endpoints para configurar o recebimento de notificações por webhook quando um documento fiscal é recebido ou cancelado.\n\nO fluxo é: cadastre um **endpoint** (a URL do seu sistema que vai receber as notificações) e, em seguida, crie **subscriptions** ligando esse endpoint a um CNPJ/CPF, a um tipo de documento e a um tipo de evento. Consulte `GET /v1/webhooks/metadata` para os valores aceitos.\n\nTodos os recursos são isolados por conta: um `Id` de outra conta retorna `404`, nunca `403`.\n\nErros da API vêm no envelope `{\"error\": {\"code\", \"message\", \"context\"}}`. Erros de autenticação são respondidos pelo API Gateway em outro formato: `{\"error\": \"...\", \"status\": {\"code\", \"message\"}}`."}],"schemes":["https"],"paths":{"/v2/dfe/nfe":{"post":{"description":"Este endpoint permite buscar todas as NFes da conta, retornando os dados conforme a projeção solicitada, além de permitir novos filtros como chave de acesso, CNPJ do emitente, transportador e destinatário, status da NFe, entre outros.","produces":["application/json"],"summary":"Lista as NFes da conta com base nos filtros aplicados","x-title":"Busca de NFes - NOVA!","operationId":"HTTPNfeListRequestV2","tags":["NFe"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"name":"Body","in":"body","description":"A API busca NFes através dos seguintes filtros, que devem ser enviados no corpo da requisição:\n\n### Filtros (`Filters`):\n\n- **`CreatedAt`** (Objeto com `From` e `To`) – Filtra os documentos pelo intervalo de data/hora de criação do registro no sistema.\n- **`EmissionDate`** (Objeto com `From` e `To`) – Filtra os documentos pelo intervalo de data/hora de emissão. Caso não informado, será utilizado o padrão de 30 dias.\n- **`DocumentIdentifier`** – Chave de Acesso da NFe para busca exata.\n- **`EmitterCnpj`** (Array) – Lista de CNPJs/CPFs dos emitentes para filtrar os documentos.\n- **`TransporterCnpj`** (Array) – Lista de CNPJs/CPFs dos transportadores para filtrar os documentos.\n- **`ReceiverCnpj`** (Array) – Lista de CNPJs/CPFs dos destinatários para filtrar os documentos.\n- **`Owners`** (Array) – Lista de CNPJs/CPFs dos proprietários dos documentos na Qive.\n- **`OwnerRoles`** (Array) – Lista de papéis do proprietário (ex: \"received\", \"emitted\", \"transporter\", \"authorized\").\n- **`Status`** – Status do documento. Valores possíveis: \"canceled\", \"authorized\".\n- **`Origin`** – Origem do documento. Exemplos: \"sefaz\", \"upload\", \"upload_zip\", \"upload_daemon\", \"upload_api\", \"email\", \"integracoes\".\n- **`HasCCE`** (Boolean) – Indica se o documento possui Carta de Correção Eletrônica.\n- **`HasEvent`** (Boolean) – Indica se o documento possui eventos associados.\n- **`HasManifestation`** (Boolean) – Indica se o documento possui manifestação.\n- **`HasXPed`** (Boolean) – Indica se o documento possui xPed.\n- **`Cfops`** (Array) – Lista de CFOPs para filtrar os documentos.\n- **`NfeNumber`** (Objeto com `From` e `To`) – Intervalo de números NFe para filtrar os documentos. Composto por `From` e `To`, sendo \"From\" o número inicial e \"To\" o número final.\n- **`Tags`** (Array) – Lista de tags para filtrar os documentos.\n- **`TagsAll`** (Array) – Lista de tags obrigatórias para todos os documentos retornados.\n- **`xPeds`** (Array) – Lista de xPeds para filtrar os documentos.\n- **`FinNFe`** (Array) – Filtro pela finalidade de emissão da NFe. Valores aceitos: `\"1\"` (Normal), `\"2\"` (Complementar), `\"3\"` (Ajuste), `\"4\"` (Devolução), `\"5\"` (Crédito), `\"6\"` (Débito).\n- **`CustomData`** (Array de objetos `{Name, Values}`) – Filtro por propriedades customizadas do documento. Aplica AND entre itens (`Name`) e OR entre os `Values` de um mesmo item.\n### Fields (campos retornados):\n\n- **`Fields`** (Array) – Lista de campos específicos da NFe a serem retornados: (ex: \"Xml\", \"Origin\", \"FlagErp\", \"CustomData\", \"Document\", \"Events\", \"Tags\", \"Cfops\", \"AccessKey\", \"EmissionDate\", \"CreatedAt\", \"HasCCE\", \"Manifestations\", \"Number\", \"Owner\", \"OwnerRole\", \"Receiver\", \"Emitter\", \"Status\"). Caso não informado, serão retornados campos padrão.\n### Outros parâmetros:\n\n- **`Paginator`** (String) – Token de paginação (cursor) para buscar próximo conjunto de resultados.\n- **`Limit`** – Limite de documentos retornados por requisição (ex: 500)\n\nO endpoint retorna uma lista de NFe com os campos solicitados em `fields.\n","schema":{"type":"object","properties":{"Fields":{"description":"Fields são os campos que podem ser retornados na resposta, caso nenhum seja passado, o padrão será \"Xml\" e \"AccessKey\".","type":"array","items":{"type":"string"},"x-go-name":"Fields","example":["Xml","Origin","FlagErp","CustomData","Document","Events","Tags","Cfops","AccessKey","EmissionDate","CreatedAt","HasCCE","Manifestations","Number","Owner","OwnerRole","Receiver","Emitter","Status"]},"Filters":{"$ref":"#/definitions/FiltersNFeV2"},"Limit":{"description":"Limit é a quantidade máxima de resultados a serem retornados (padrão 500, máximo 500)","type":"integer","format":"int64","example":100},"Paginator":{"description":"Paginator é uma string contendo a informação da próxima página de resultados obtidos","type":"string","x-go-name":"Paginator","example":"[\"75e7ccc0a702d0a823a2ef073a023c8fc9afedf7\"]"}}}}],"responses":{"200":{"description":"HTTPNfeListResponseV2 contém a resposta da chamada para a API de listagem de NFes.","schema":{"$ref":"#/definitions/HTTPNfeListResponseBodyV2"}},"default":{"description":"HTTPNfeResponseErrorV2 é retornado em caso de erro.","schema":{"$ref":"#/definitions/ErrorDescription"}}}}},"/v1/dfe/cte":{"post":{"description":"A API busca CTes através de filtros, retornando os dados dos documentos filtrados.","produces":["application/json"],"summary":"Lista os CTes da conta com base nos filtros aplicados","x-title":"Busca de CTes - NOVA!","operationId":"HTTPCteListRequestV1","tags":["CTe"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"name":"Body","in":"body","description":"Filtros e campos para a busca de CTes\n ### Filtros (`Filters`):\n- **`CreatedAt`** (Objeto com `From` e `To`) – Filtra os documentos pelo intervalo de data/hora de criação do registro no sistema.\n- **`EmissionDate`** (Objeto com `From` e `To`) – Filtra os documentos pelo intervalo de data/hora de emissão.\n- **`DocumentIdentifier`** – Chave de Acesso da CTe para busca exata.\n- **`Owners`** (Array) – Lista de CNPJs/CPFs dos proprietários dos documentos na Qive.\n- **`EmitterCnpj`** (Array) – Lista de CNPJs/CPFs dos emitentes para filtrar os documentos.\n- **`Status`** – Status do documento. Valores possíveis: \"canceled\", \"authorized\".\n- **`Origin`** (Array) – Origem do documento. Exemplos: \"sefaz\", \"upload\".\n- **`HasCCE`** (Boolean) – Indica se o documento possui Carta de Correção Eletrônica.\n- **`HasManifestation`** (Boolean) – Indica se o documento possui manifestação.\n- **`Cfops`** (Array) – Lista de CFOPs para filtrar os documentos.\n- **`Nfes`** (Array) – Lista de chaves de NFes relacionadas.\n- **`Tags`** (Array) – Lista de tags para filtrar os documentos (pelo menos uma).\n- **`Types`** (Array) – Lista de tipos de CTe.\n- **`IsTaker`** (Boolean) – Indica se o proprietário é o tomador da CTe.\n- **`CustomData`** (Array de objetos `{Name, Values}`) – Filtro por propriedades customizadas do documento. Aplica AND entre itens (`Name`) e OR entre os `Values` de um mesmo item.\n### Fields (campos retornados):\n\n- **`Fields`** (Array) – Lista de campos específicos da CTe a serem retornados: \"Xml\", \"Origin\", \"FlagErp\", \"CustomData\", \"Document\", \"Events\", \"Tags\", \"Cfops\", \"AccessKey\", \"EmissionDate\", \"CreatedAt\", \"HasCCE\", \"Manifestations\", \"Number\", \"Owner\", \"OwnerRole\", \"Addressee\", \"Dispatcher\", \"Sender\", \"Receiver\", \"Emitter\", \"Status\", \"Taker\", \"IBSCBS\", \"AccessKeyPrev\", \"AccessKeysComp\".\n\n### Outros parâmetros:\n\n- **`Paginator`** (String) – Token de paginação (cursor) para buscar próximo conjunto de resultados.\n- **`Limit`** – Limite de documentos retornados por requisição (ex: 500)\n\nO endpoint retorna uma lista de CTe com os campos solicitados em `fields`.","schema":{"type":"object","properties":{"fields":{"description":"Fields são os campos que podem ser retornados na resposta","type":"array","items":{"type":"string"},"x-go-name":"Fields","example":["Xml","Origin","FlagErp","CustomData","Document","Events","Tags","Cfops","AccessKey","EmissionDate","CreatedAt","HasCCE","Manifestations","Number","Owner","OwnerRole","Addressee","Dispatcher","Sender","Receiver","Emitter","Status","Taker","IBSCBS","AccessKeyPrev","AccessKeysComp"]},"Filters":{"$ref":"#/definitions/FiltersCTe"},"Limit":{"description":"Limit é a quantidade máxima de resultados a serem retornados (padrão: 500, máximo: 500)","type":"integer","format":"int64","example":100},"Paginator":{"description":"Paginator é uma string contendo a informação da próxima página de resultados obtidos","type":"string","x-go-name":"Paginator","example":"[\"75e7ccc0a702d0a823a2ef073a023c8fc9afedf7\"]"}}}}],"responses":{"200":{"description":"HTTPCteListResponseBodyV1 contém a resposta da chamada para a API de listagem de CTes.","schema":{"$ref":"#/definitions/HTTPCteListResponseBodyV1"}},"default":{"description":"HTTPCteeResponseErrorV1 é retornado em caso de erro.","schema":{"$ref":"#/definitions/ErrorDescription"}}}}},"/v1/dfe/nfse":{"post":{"description":"Este endpoint permite buscar todas as NFses da conta, retornando os dados das NFSes obtidas.","produces":["application/json"],"summary":"Lista as NFses da conta com base nos filtros aplicados","x-title":"Busca de NFSes - NOVA!","operationId":"HTTPNfseListRequestV1","tags":["NFSe"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","default":"always","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"name":"Body","in":"body","description":"A API busca Notas Fiscais de Serviço Eletrônicas (NFSe) através dos seguintes parâmetros:\n\n### Filtros (`filters`):\n\n- **`createdAt`** (Objeto TimeRange com `from` e `to`) – Filtra as NFSe pelo intervalo de data/hora de criação do registro no sistema.\n- **`emissionDate`** (Objeto TimeRange com `from` e `to`) – Filtra as NFSe pelo intervalo de data/hora de emissão da nota fiscal.\n- **`documentIdentifier`** – Identificador do documento no formato `ownerCnpjOuCpf:cnpjEmissor:yyyy-mm-dd:numeroDaNota` (ex: 76564624000101:03160081000185:2025-09-24:1).\n- **`owners`** (Array) – Lista de CNPJs/CPFs dos proprietários dos documentos.\n- **`emitterCnpj`** (Array) – Lista de CNPJs/CPFs dos emitentes.\n- **`takerCnpj`** (Array) – Lista de CNPJs/CPFs dos tomadores.\n- **`origin`** (String) – Origem do documento (ex: `nacional`, `upload`, `ginfes`).\n- **`isCanceled`** (String) – Filtro por documentos cancelados (`true`/`false`).\n- **`ownerRoles`** (Array) – Permite filtrar os documentos com base no papel do proprietário da nota na nossa plataforma. Os valores aceitos são: `emitter` (Emitente), `taker` (Tomador), `intermediate` (Intermediário).\n- **`competence`** (Array) – Possibilita a filtragem pelo período de competência da NFSe no formato `yyyy-mm` (ex: `2025-09`).\n- **`customData`** (Array de objetos `{Name, Values}`) – Filtro por propriedades customizadas do documento. Aplica AND entre itens (`Name`) e OR entre os `Values` de um mesmo item.\n\n### Fields (campos retornados):\n\n- **`fields`** (Array) – Lista de campos específicos da NFSe a serem retornados: `xmlAbrasf`, `xmlAbrasfRtc`, `originalXml`, `origin`, `flagErp`, `customData`, `document`.\n\n### Outros parâmetros:\n\n- **`paginator`** (String) – Token de paginação (cursor) para buscar próximo conjunto de resultados.\n\nO endpoint retorna uma lista de NFSe com os campos solicitados em `fields`.","schema":{"type":"object","properties":{"filters":{"$ref":"#/definitions/FiltersNFSe","description":"Filters contém os filtros para busca de NFSe"},"fields":{"description":"Fields são os campos que podem ser retornados na resposta","type":"array","items":{"type":"string"},"example":["xmlAbrasf","xmlAbrasfRtc","originalXml","origin","flagErp","customData","document"]},"paginator":{"description":"Paginator é uma string contendo a informação da próxima página de resultados obtidos","type":"string","x-go-name":"Paginator","example":"eyJwYWdlIjoyfQ=="}}}}],"responses":{"200":{"description":"HTTPNfseListResponseV1 contém a resposta da chamada para a API de listagem de NFes.","schema":{"$ref":"#/definitions/HTTPNfseListResponseBody"}},"default":{"description":"HTTPNfseResponseErrorV1 é retornado em caso de erro.","schema":{"$ref":"#/definitions/ErrorDescription"}}}}},"/v1/dfe/upload":{"post":{"tags":["Upload"],"summary":"Upload de DFes","x-title":"Upload de DFes","description":"Neste endpoint é possível fazer o envio de qualquer Documento Fiscal Eletrônico, assim como seus eventos, em formato XML. DFes Suportados: CFe, CTe, CTeOS, NFCe, NFe, NFSe, NF3e, NFAg, NFGas, NFCom e eventos.\nA resposta retornada em caso de falha irá indicar qual o problema encontrado no XML enviado.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"description":"Corpo da requisição. Deve conter o arquivo XML em Base64 e pode conter o campo \"owner\", com o CPF/CNPJ que será associado como 'dono' do documento.","schema":{"type":"object","required":["xml"],"properties":{"xml":{"type":"string","format":"XML encoded em base64","description":"DFes Suportados: CFe, CTe, CTeOS, NFCe, NFe, NFSe, NF3e, NFAg, NFGas, NFCom e eventos"},"owner":{"description":"Array contendo documentos (CNPJ/CPF) dos owners","type":"array","items":{"type":"string","minLength":11,"maxLength":14,"format":"CPF ou CNPJ","example":"67970224016 97548313000110","description":"Permitido apenas números neste campo. Caractéres especiais não são permitidos. Cada owner deve ser separado por espaço. Este campo é opicional."}}}}}],"responses":{"200":{"description":"Operação de upload concluída com sucesso","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"upload":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"description":"Este campo irá conter uma mensagem com informações do erro encontrado, caso o campo 'success' seja false. A mensagem trará as tags do XML que falharam em validar segundo o schema do documento.","type":"string"}}}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"string","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"string","description":"Error details"}}}},"403":{"description":"Forbidden","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"string","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"string","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"string","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/dfe/flagerp":{"post":{"tags":["FlagErp"],"summary":"Upload de metadados de DFes para flag ERP","x-title":"Inclui FlagErp","description":"Essa API recebe os metadados enviados através de uma chave e valor ('key': 'value'), o tipo de documento (NFE, NFSE, CTE, CTEOS, CFESAT e NFCE) e o id da nota.","produces":["application/json"],"parameters":[{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"body","name":"body","required":true,"description":"Corpo da requisição. Deve conter as seguintes informações:\n- `doc_type`: Tipo do documento (NFE, NFSE, CTE, CTEOS, CFESAT, NFCE). Este campo deve indicar o tipo de documento a ser processado.\n- `id`: Identificador único do documento:\n  - No caso de NFE, CTE, CTEOS, CFESAT e NFCE, é a chave de acesso.\n  - Para NFSE, é a concatenação do CNPJ emissor, com data da emissão (Y-m-d) e número da nota no formato cnpj:data-de-emissão:número\n  - **Exemplo:** 19427033000140:2025-01-21:123456789\n- `metadata`: Metadados adicionais associados ao documento. Deve ser um array contendo objetos com os seguintes campos:\n  - `key`: Chave do metadado.\n  - `value`: Valor correspondente à chave do metadado.\n- `owner`: O CPF ou CNPJ do 'dono' do documento.","schema":{"type":"object","required":["doc_type","id","metadata","owner"],"properties":{"doc_type":{"type":"string","format":"Tipo do documento (NFE, CTE...)","description":"DFes Suportados: NFE, NFSE, CTE, CTEOS, CFESAT e NFCE"},"id":{"type":"string","format":"12314234513452345612734591239984091820341092","description":"Identificador do documento enviado na requisição."},"metadata":{"description":"Array de key-values contendo os metadados","type":"array","items":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}},"example":{"key":"string","value":"string"}}},"owner":{"type":"string","format":"12345678000110","description":"CPF/CNPJ associado como 'dono' do documento. Permitido apenas números neste campo. Caractéres especiais não são permitidos."}}}}],"responses":{"200":{"description":"Operação de upload concluída com sucesso","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"request_id":{"description":"Este campo irá conter o código identificador dessa requisição.","type":"string"}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"string","description":"Error details"}}}},"403":{"description":"Forbidden","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"string","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"string","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"string","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfe/{role}":{"get":{"tags":["NFe"],"summary":"Busca XMLs de NFes recebidas pelos CNPJs de sua conta","x-title":"Busca de NFes","description":"Este endpoint é responsável por buscar XMLs de NFEs recebidas, utilizando alguns filtros.\n- Nossa API utiliza o 'cursor' como parâmetro para paginação. Para cada documento é atribuído um cursor que não muda com o tempo, sendo possível fazer o reprocessamento dos documentos resetando o cursor para 0.\n- O campo 'limit' define a quantidade de documentos retornados na resposta, sendo máximo 50. O padrão, caso não seja enviado, é sempre 50.\n- Campos created_at[from] e created_at[to] definem um range de buscar por datas em que a nota entrou na API - estes campos não se referem à data de emissão da nota e sim a sua criação na Qive.\n- Campo cnpj[] - utilizado para filtrar pelos CNPJs que são 'owner' do documento.\n- Campo access_key[] - permite filtrar por um conjunto de chaves de acesso.\n- Campo format_type - permite retornar os dados do documento em xml ou json.\n- Compo filter - permite realizar uma busca utilizando um filtro personalizado, com valores inseridos através do endpoint de PUT /v1/nfe/received/{property}.\n **Example:**\n `GET /nfe/received?filter=(= processed false)&access_key[]=44charkey&limit=50`","produces":["application/json"],"parameters":[{"in":"path","name":"role","required":true,"type":"string","minimum":1,"description":"O nome da role. Valores possíves: **received**, **emitted**, **transporter**, **authorized**. ex: **/v1/nfe/received**"},{"in":"query","name":"limit","type":"integer","description":"Quantidade de XMLs retornados na resposta. Máximo 50 documentos. Caso não seja enviado, serão retornados 50 documentos."},{"in":"query","name":"cursor","type":"integer","description":"O cursor define a posição a partir da qual serão buscados os documentos. Este valor será retorno no campo data.page.next após uma requisição bem sucedida, com o valor do próximo cursor a ser buscado."},{"in":"query","name":"access_key","type":"array","items":{"type":"string","minLength":44,"maxLength":44},"description":"Filtrar uma lista de chaves de acesso. Exemplo de uso deste filtro: v1/nfe/received?access_key[]=44charKey"},{"in":"query","name":"cnpj","type":"array","items":{"type":"string","minLength":14,"maxLength":14},"description":"Filtrar por uma lista de CNPJs ou CPFs. Examplo de uso deste filtro: v1/nfe/received?cnpj[]=34174654000153&cnpj[]=34174654000215"},{"in":"query","name":"filter","type":"string","description":"Filtrar pela presença de um valor para uma custom property, de acordo com a nossa Query Language. Este filtro utiliza uma linguagem pré-fixada, onde os operadores são colocados antes dos operandos.\nOperadores disponíveis:\n  - **=** - Exemplo: filter=(= processed true) - busca notas onde a property \"processed\" possui o valor \"true\"\n  - **NOT_EXISTS** - Exemplo: filter=(NOT_EXISTS processed) - busca notas onde não existe valor para a property \"processed\"\n  - **AND** - Exemplo: filter=(AND (= processed true) (= status 200)) - busca notas onde a property \"processed\" possui o valor \"true\" **E** a property \"status\" possui o valor \"200\"\n  - **OR** - Exemplo: filter=(OR (= processed true) (= status 200)) - busca notas onde a property \"processed\" possui o valor \"true\" **OU** a property \"status\" possui o valor \"200\""},{"in":"query","name":"created_at[from]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[to] for utilizado. Examplo de uso = /v1/nfe/received?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25. <br> Pode ser utilizado datetime ou apenas date."},{"in":"query","name":"created_at[to]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[from] for utilizado. Examplo de uso = /v1/nfe/received?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25. <br> Pode ser utilizado datetime ou apenas date."},{"in":"query","name":"format_type","type":"string","description":"Formata a resposta em JSON ou XML","enum":["xml","json"]}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"$ref":"#/definitions/Nfe"}},"page":{"type":"object","properties":{"next":{"$ref":"#/definitions/Next"},"previous":{"$ref":"#/definitions/Previous"}}},"count":{"type":"integer"},"signature":{"$ref":"#/definitions/Signature"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfe/{role}/{property}":{"put":{"tags":["NFe"],"summary":"Adiciona ou atualiza uma Property customizada para uma NFe Recebida.","x-title":"Inclui Property de NFe","description":"Através deste endpoint é possível adicionar ou atualizar o valor de uma Property customizada para um determinado documento.\nA property funciona como um par chave-valor para um documento, permitindo que o usuário indique um valor qualquer para a property que deseja.\nPor padrão sua conta já possui uma property com chave 'status', sendo possível atribuir valores para esta propery para cada documento.\nEstes valores podem depois ser utilizados no parâmetro 'filter' do endpoint de GET.","produces":["application/json"],"parameters":[{"in":"path","name":"role","required":true,"type":"string","minimum":1,"description":"O nome da role. Valores possíves: **received**, **emitted**, **transporter**, **authorized**. ex: **/v1/nfe/received/status**"},{"in":"path","name":"property","required":true,"type":"string","minimum":1,"description":"O nome da chave customizada. Exemplo: status - o endpoint ficaria **/v1/nfe/received/status**"},{"in":"body","name":"data","required":true,"description":"A chave de acesso e o valor que será adicionado ou atualizado para a property. É possível atualizar mais de um valor na mesma requisição, para chaves de acesso diferentes.","schema":{"type":"object","properties":{"data":{"items":{"$ref":"#/definitions/Custom"}}}}}],"responses":{"200":{"description":"Successful update","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"$ref":"#/definitions/Data"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfe/upload":{"post":{"tags":["NFe"],"summary":"Realiza o Upload de um lote de NFes","x-title":"Upload de NFes - Bulk","description":"Este endpoint é responsável por fazer o upload de um lote de XMLS de NFes. O processo é feito de forma assíncrona, tendo como retorno um **request_id** que deve ser utilizado no endpoint **/v1/nfe/upload/status** para acompanhar o status do lote.\nPode ser passado uma url de callback no banco **callback_url**. Caso seja feito, será realizado um callback com o resultado do processamento.","produces":["application/json"],"parameters":[{"in":"body","name":"invoices","required":true,"description":"Este campo deve conter os XMLs das NFes encodados em Base64","schema":{"type":"object","required":["invoices"],"properties":{"invoices":{"type":"array","items":{"type":"object","required":["xml"],"properties":{"xml":{"type":"string"}}}},"callback_url":{"type":"string"}}}}],"responses":{"200":{"description":"Successful upload request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"request_id":{"type":"string"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfe/upload/status":{"get":{"tags":["NFe"],"summary":"Verifica o status de um pedido de upload de lote de NFes, utilizando o request_id","x-title":"Status de Upload de NFes","description":"Este endpoint é responsável por retornar os status do upload de um lote de NFes.\nDeve ser utilizado o **request_id** retornado no endpoint **/v1/nfe/upload** para verificação.\n **Exemplo:**\n`GET /nfe/upload/status?request_id=string`","produces":["application/json"],"parameters":[{"in":"query","name":"request_id","type":"string","description":"O request_id retornado ao fazer o upload de NFes"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"$ref":"#/definitions/DataNFeUpload"}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v2/nfe/manifest":{"get":{"tags":["NFe"],"summary":"Busca a manifestação de uma NFe.","x-title":"Manifestações de NFes v2","description":"Este endpoint é responsável por buscar a manifestação mais recente realizada em uma NFe. Esta manifestação só ficará disponível caso tenha sido realizada através da plataforma Qive ou da API.","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","required":true,"type":"array","items":{"type":"string","minLength":44,"maxLength":44},"description":"Filtra por uma lista de chaves de acesso. Exemplo: `v1/nfe/manifest?access_key[]=44charKey`"},{"in":"query","name":"origin","type":"string","description":"Filtra por uma lista de origens da manifestação. As origens podem ser **app** (manifestações realizadas pela Plataforma) ou **api** (manifestações realizadas pela API). Exemplo: `v2/nfe/manifest?access_key[]=44charKey&origin=api`"}],"responses":{"200":{"description":"Successful manifestation fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"type":"object","required":["access_key","code"],"properties":{"access_key":{"type":"string"},"code":{"type":"string"}}}}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfe/manifest":{"get":{"tags":["NFe"],"summary":"Busca a manifestação de uma NFe.","x-title":"Manifestações de NFe","description":"Este endpoint é responsável por buscar a manifestação mais recente realizada em uma NFe. Esta manifestação só ficará disponível caso tenha sido realizada através da plataforma Qive ou da API.","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","required":true,"type":"array","items":{"type":"string","minLength":44,"maxLength":44},"description":"Filtra por uma lista de chaves de acesso. Exemplo: `v1/nfe/manifest?access_key[]=44charKey`"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"type":"object","required":["access_key","code"],"properties":{"access_key":{"type":"string"},"code":{"type":"integer"}}}}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}},"post":{"tags":["NFe"],"summary":"Realiza a manifestação de uma ou mais NFes, de forma assíncrona.","x-title":"Inclui Manifestação de NFes","description":"Este endpoint é responsável por realizar a manifestação de uma lista de NFes.\nO endpoint retorna um **request_id** que deve ser utilizado para verificar o status da manifestação.\n* * *\nLista de códigos para manifestação:\n\n  *   **Confirmação**: 210200\n  *   **Ciencia**: 210210\n  *   **Desconhecimento**: 210220\n  *   **Não Realizada**: 210240\n\nMais informações sobre o processo de manifestação do destinatário pode ser encontrado no site da Secretaria da Fazenda: [nfe.fazenda.gov.br](\"http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=bUBJ/PmtKQo=\")","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"description":"`access_key` - chave de acesso da NFe, contendo 44 caracteres.\n`code` - código de 6 dígitos da manifestação a ser realizada - verificar lista acima\n`justification` - string com a justificava para a manifestação. Apenas necessário quando o code utilizado é **'210240'**.","schema":{"type":"object","required":["manifests"],"properties":{"manifests":{"type":"array","items":{"type":"object","required":["access_key","code"],"properties":{"access_key":{"type":"string"},"code":{"type":"string"},"justification":{"type":"string"}}}}}}}],"responses":{"200":{"description":"Successful manifestation request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"object","required":["request_id"],"properties":{"request_id":{"type":"string"}}}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfe/manifest/status":{"get":{"tags":["NFe"],"summary":"Busca o status de um pedido de manifestação de NFe realizado através do endpoint POST /v1/nfe/manifest","x-title":"Status de Manifestação","description":"Este endpoint é responsável por retornar os status das manifestações requisitadas através do endpoint anteriormente mencionado.\nDeve ser utilizado o **request_id** retornado anteriormente ou uma chave de acesso.","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","type":"array","items":{"type":"string","minLength":44,"maxLength":44},"description":"Filtra por uma lista de chaves de acesso. Exemplo: `v1/nfe/manifest?access_key[]=44charKey`"},{"in":"query","name":"request_id","type":"array","items":{"type":"string","minLength":64,"maxLength":64},"description":"Filtra por uma lista de request_ids. Exemplo: `v1/nfe/manifest/status?request_id[]=64charId`"}],"responses":{"200":{"description":"Successful manifestation status fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"type":"object","required":["access_key","code"],"properties":{"access_key":{"type":"string"},"code":{"type":"integer"},"status":{"type":"object","required":["access_key","code"],"properties":{"code":{"type":"integer"},"message":{"type":"integer"}}}}}}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfe/manifest/sync":{"post":{"tags":["NFe"],"summary":"Realiza a manifestação de uma NFe de forma síncrona (sync)","x-title":"Inclui Manifestação - Sync","description":"Este endpoint é responsável por realizar a manifestação de uma NFes.\nO endpoint retorna a resposta direto da SEFAZ com o status da manifestação.\n* * *\nLista de códigos para manifestação:\n\n  *   **Confirmação**: 210200\n  *   **Ciencia**: 210210\n  *   **Desconhecimento**: 210220\n  *   **Não Realizada**: 210240\n\nMais informações sobre o processo de manifestação do destinatário pode ser encontrado no site da Secretaria da Fazenda: [nfe.fazenda.gov.br](\"http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=bUBJ/PmtKQo=\")","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"description":"`access_key` - chave de acesso da NFe, contendo 44 caracteres.\n`code` - código de 6 dígitos da manifestação a ser realizada - verificar lista acima\n`justification` - string com a justificava para a manifestação. Apenas necessário quando o code utilizado é **'210240'**.","schema":{"type":"object","required":["manifests"],"properties":{"manifests":{"type":"array","items":{"type":"object","required":["access_key","code"],"properties":{"access_key":{"type":"string"},"code":{"type":"string"},"justification":{"type":"string"}}}}}}}],"responses":{"200":{"description":"Successful manifestation request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"object","required":["access_key","sefaz_response"],"properties":{"access_key":{"type":"string"},"sefaz_response":{"$ref":"#/definitions/sefaz_response"}}}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v2/nfe/events":{"get":{"tags":["NFe"],"summary":"Busca os XMLs de todos os eventos de uma NFe","x-title":"Eventos de uma NFe","description":"Este endpoint é responsável por realizar a busca dos XMLs de todos os eventos de uma NFe, retornados em base64.\nTodos os Eventos de uma NFe disponibilizados pela SEFAZ são retornados, sendo possível buscar apenas uma chave de acesso por vez.","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","required":true,"type":"string","minLength":44,"maxLength":44,"description":"A chave de acesso de uma NFe. Exemplo: `/v2/nfe/events?access_key=44charKey`"},{"in":"query","name":"type","required":false,"type":"array","items":{"type":"string","minLength":6,"maxLength":6},"description":"Um Array com os tipos de eventos a serem filtrados. Cada tipo de evento é uma string de 6 dígitos string, exemplo: `/v2/nfe/events?type[]=110111&type[]=110110`'\nExistem diversos tipos de evento, sendo o principal utilizado tipo **110111**, para Cancelamento de uma NFe"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"xml":{"type":"string"}}}}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/events/nfe":{"get":{"tags":["NFe"],"summary":"Busca os XMLs de todos os eventos de NFe da conta","x-title":"Eventos de NFes (Fila)","description":"Este endpoint é responsável por realizar a busca dos XMLs de todos os eventos NFe da conta autenticada, retornados em base64.\n - Nossa API utiliza o 'cursor' como parâmetro para paginação. Para cada documento é atribuído um cursor que não muda com o tempo, sendo possível fazer o reprocessamento dos documentos resetando o cursor para 0.\n - O campo 'limit' define a quantidade de documentos retornados na resposta, sendo máximo 50. O padrão, caso não seja enviado, é sempre 50.\n - Campo 'type' represenha o tipo de evento, de acordo com a documentação da SEFAZ.","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","required":false,"type":"array","items":{"type":"string","minLength":44,"maxLength":44},"description":"Uma lista de chaves de acessos de NFe. Exemplo: `/v1/events/nfe?access_key[]=44charKey`"},{"in":"query","name":"type","required":false,"type":"array","items":{"type":"string","minLength":6,"maxLength":6},"description":"Um Array com os tipos de eventos a serem filtrados. Cada tipo de evento é uma string de 6 dígitos string, exemplo: `/v1/events/nfe?type[]=110111&type[]=110110`'\nExistem diversos tipos de evento, sendo o principal utilizado tipo **110111**, para Cancelamento de uma NFe"},{"in":"query","name":"limit","type":"integer","description":"Quantidade de XMLs retornados na resposta. Máximo 50 documentos. Caso não seja enviado, serão retornados 50 documentos."},{"in":"query","name":"cursor","type":"integer","description":"O cursor define a posição a partir da qual serão buscados os documentos. Este valor será retorno no campo data.page.next após uma requisição bem sucedida, com o valor do próximo cursor a ser buscado."}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"$ref":"#/definitions/EventData"}},"page":{"type":"object","properties":{"next":{"$ref":"#/definitions/Next"},"previous":{"$ref":"#/definitions/Previous"}}},"count":{"type":"integer"},"signature":{"$ref":"#/definitions/Signature"}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfe/danfe":{"get":{"tags":["NFe"],"summary":"Busca o Documento Auxiliar (DANFe) de uma NFe, retornando um PDF em base64","x-title":"Busca PDF de NFe","description":"Este endpoint é responsável por realizar a busca do Documento Auxiliar (DANFe) de uma NFe, retornando um PDF em base64,","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","required":true,"type":"string","minLength":44,"maxLength":44,"description":"A chave de acesso de uma NFe. Exemplo: `/v1/nfe/danfe?access_key=44charKey`"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"properties":{"access_key":{"type":"string"},"encoded_pdf":{"type":"string"}}}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"422":{"description":"Unprocessable Content","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfse/{role}":{"get":{"tags":["NFSe"],"summary":"Busca XMLs de NFSes recebidas pelos CNPJs de sua conta","x-title":"Busca de NFSes","description":"Este endpoint é responsável por buscar XMLs de NFSes (Nota Fiscal de Serviço) recebidas, utilizando alguns filtros.\n- Nossa API utiliza o 'cursor' como parâmetro para paginação. Para cada documento é atribuído um cursor que não muda com o tempo, sendo possível fazer o reprocessamento dos documentos resetando o cursor para 0.\n- O campo 'limit' define a quantidade de documentos retornados na resposta, sendo máximo 50. O padrão, caso não seja enviado, é sempre 50.\n- Campos created_at[from] e created_at[to] definem um range de buscar por datas em que a nota entrou na API - estes campos não se referem à data de emissão da nota e sim a sua criação na Qive.\n- Campo cnpj[] - utilizado para filtrar pelos CNPJs que são 'owner' do documento.\n- Campo id[] - permite filtrar por um conjunto de ids de NFSe - o id é retornado no corpo da resposta.\n- Campo format_type - permite retornar os dados do documento em xml ou json.\n- Compo filter - permite realizar uma busca utilizando um filtro personalizado, com valores inseridos através do endpoint de PUT **/v1/nfse/received/{property}**.\n - Campo xml_format - permite alternar o formato do XML retornado pela API. Por padrão o formato retornado é o abrasf.\n  - **original**: XML Original enviado para a plataforma. Ex: layout do município ou nacional.\n  - **abrasf**: XML formato Abrasf Qive.\n  - **abrasf_rtc**: XML formato Abrasf Qive com os campos da reforma tributária. \n\n**Example:**\n `GET /nfse/received?filter=(= processed false)&id[]=40charkey&limit=50`","produces":["application/json"],"parameters":[{"in":"path","name":"role","required":true,"type":"string","minimum":1,"description":"O nome da role. Valores possíves: **received**, **emitted**. ex: **/v1/nfse/received**"},{"in":"query","name":"limit","type":"integer","description":"Quantidade de XMLs retornados na resposta. Máximo 50 documentos. Caso não seja enviado, serão retornados 50 documentos."},{"in":"query","name":"cursor","type":"integer","description":"O cursor define a posição a partir da qual serão buscados os documentos. Este valor será retorno no campo **data.page.next** após uma requisição bem sucedida, com o valor do próximo cursor a ser buscado."},{"in":"query","name":"id","type":"array","items":{"type":"string","minLength":40,"maxLength":40},"description":"Filtrar uma lista de ids. Exemplo de uso deste filtro: v1/nfse/received?id[]=40charKey"},{"in":"query","name":"cnpj","type":"array","items":{"type":"string","minLength":14,"maxLength":14},"description":"Filtrar por uma lista de CNPJs ou CPFs. Examplo de uso deste filtro: v1/nfse/received?cnpj[]=34174654000153&cnpj[]=34174654000215"},{"in":"query","name":"filter","type":"string","description":"Filtrar pela presença de um valor para uma custom property, de acordo com a nossa Query Language. Este filtro utiliza uma linguagem pré-fixada, onde os operadores são colocados antes dos operandos.\nOperadores disponíveis:\n  - **=** - Exemplo: filter=(= processed true) - busca notas onde a property \"processed\" possui o valor \"true\"\n  - **NOT_EXISTS** - Exemplo: filter=(NOT_EXISTS processed) - busca notas onde não existe valor para a property \"processed\"\n  - **AND** - Exemplo: filter=(AND (= processed true) (= status 200)) - busca notas onde a property \"processed\" possui o valor \"true\" **E** a property \"status\" possui o valor \"200\"\n  - **OR** - Exemplo: filter=(OR (= processed true) (= status 200)) - busca notas onde a property \"processed\" possui o valor \"true\" **OU** a property \"status\" possui o valor \"200\""},{"in":"query","name":"created_at[from]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[to] for utilizado. Examplo de uso = /v1/nfse/received?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25. <br> Pode ser utilizado datetime ou apenas date."},{"in":"query","name":"created_at[to]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[from] for utilizado. Examplo de uso = /v1/nfse/received?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25. <br> Pode ser utilizado datetime ou apenas date."},{"in":"query","name":"format_type","type":"string","description":"Formata a resposta em JSON ou XML","enum":["xml","json"]},{"in":"query","name":"xml_format","type":"string","description":"Permite alternar o formato do XML retornado pela API. Por padrão o formato retornado é o abrasf.\n  - **original**: XML Original enviado para a plataforma. Ex: layout do município ou nacional.\n  - **abrasf**: XML formato Abrasf Qive.\n  - **abrasf_rtc**: XML formato Abrasf Qive com os campos da reforma tributária.","enum":["original","abrasf","abrasf_rtc"]}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"$ref":"#/definitions/Nfse"}},"page":{"type":"object","properties":{"next":{"$ref":"#/definitions/Next"},"previous":{"$ref":"#/definitions/Previous"}}},"count":{"type":"integer"},"signature":{"$ref":"#/definitions/Signature"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}}}}},"/v2/nfse/received":{"get":{"tags":["NFSe"],"summary":"Busca XMLs de NFSes recebidas pelos CNPJs de sua conta","x-title":"Busca de NFSes v2","description":"Este endpoint é responsável por buscar XMLs de NFSes (Nota Fiscal de Serviço) recebidas, utilizando alguns filtros.\nEste endpoint, além de retorna o id e XML de uma NFSe, retorna também as properties e valores associados a esta NFSe.\n- Nossa API utiliza o 'cursor' como parâmetro para paginação. Para cada documento é atribuído um cursor que não muda com o tempo, sendo possível fazer o reprocessamento dos documentos resetando o cursor para 0.\n- O campo 'limit' define a quantidade de documentos retornados na resposta, sendo máximo 50. O padrão, caso não seja enviado, é sempre 50.\n- Campos created_at[from] e created_at[to] definem um range de buscar por datas em que a nota entrou na API - estes campos não se referem à data de emissão da nota e sim a sua criação na Qive.\n- Campo cnpj[] - utilizado para filtrar pelos CNPJs que são 'owner' do documento.\n- Campo id[] - permite filtrar por um conjunto de ids de NFSe - o id é retornado no corpo da resposta.\n- Campo format_type - permite retornar os dados do documento em xml ou json.\n- Compo filter - permite realizar uma busca utilizando um filtro personalizado, com valores inseridos através do endpoint de PUT **/v1/nfse/received/{property}**.\n- Campo xml_format - permite alternar o formato do XML retornado pela API. Por padrão o formato retornado é o abrasf.\n - **original**: XML Original enviado para a plataforma. Ex: layout do município ou nacional.\n- **abrasf**: XML formato Abrasf Qive.\n- **abrasf_rtc**: XML formato Abrasf Qive com os campos da reforma tributária. \n\n**Example:**\n `GET /nfse/received?filter=(= processed false)&id[]=40charkey&limit=50`","produces":["application/json"],"parameters":[{"in":"query","name":"limit","type":"integer","description":"Quantidade de XMLs retornados na resposta. Máximo 50 documentos. Caso não seja enviado, serão retornados 50 documentos."},{"in":"query","name":"cursor","type":"integer","description":"O cursor define a posição a partir da qual serão buscados os documentos. Este valor será retorno no campo **data.page.next** após uma requisição bem sucedida, com o valor do próximo cursor a ser buscado."},{"in":"query","name":"id","type":"array","items":{"type":"string","minLength":40,"maxLength":40},"description":"Filtrar uma lista de ids. Exemplo de uso deste filtro: v1/nfse/received?id[]=40charKey"},{"in":"query","name":"cnpj","type":"array","items":{"type":"string","minLength":14,"maxLength":14},"description":"Filtrar por uma lista de CNPJs ou CPFs. Examplo de uso deste filtro: v1/nfse/received?cnpj[]=34174654000153&cnpj[]=34174654000215"},{"in":"query","name":"filter","type":"string","description":"Filtrar pela presença de um valor para uma custom property, de acordo com a nossa Query Language. Este filtro utiliza uma linguagem pré-fixada, onde os operadores são colocados antes dos operandos.\nOperadores disponíveis:\n  - **=** - Exemplo: filter=(= processed true) - busca notas onde a property \"processed\" possui o valor \"true\"\n  - **NOT_EXISTS** - Exemplo: filter=(NOT_EXISTS processed) - busca notas onde não existe valor para a property \"processed\"\n  - **AND** - Exemplo: filter=(AND (= processed true) (= status 200)) - busca notas onde a property \"processed\" possui o valor \"true\" **E** a property \"status\" possui o valor \"200\"\n  - **OR** - Exemplo: filter=(OR (= processed true) (= status 200)) - busca notas onde a property \"processed\" possui o valor \"true\" **OU** a property \"status\" possui o valor \"200\""},{"in":"query","name":"created_at[from]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[to] for utilizado. Examplo de uso = /v1/nfse/received?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25. <br> Pode ser utilizado datetime ou apenas date."},{"in":"query","name":"created_at[to]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[from] for utilizado. Examplo de uso = /v1/nfse/received?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25. <br> Pode ser utilizado datetime ou apenas date."},{"in":"query","name":"format_type","type":"string","description":"Formata a resposta em JSON ou XML","enum":["xml","json"]},{"in":"query","name":"xml_format","type":"string","description":"Permite alternar o formato do XML retornado pela API. Por padrão o formato retornado é o abrasf.\n  - **original**: XML Original enviado para a plataforma. Ex: layout do município ou nacional.\n  - **abrasf**: XML formato Abrasf Qive.\n  - **abrasf_rtc**: XML formato Abrasf Qive com os campos da reforma tributária.","enum":["original","abrasf","abrasf_rtc"]}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"$ref":"#/definitions/NfseV2"}},"page":{"type":"object","properties":{"next":{"$ref":"#/definitions/Next"},"previous":{"$ref":"#/definitions/Previous"}}},"count":{"type":"integer"},"signature":{"$ref":"#/definitions/Signature"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}}}}},"/v1/nfse/received/{property}":{"put":{"tags":["NFSe"],"summary":"Adiciona ou atualiza uma Property customizada para uma NFSe Recebida. (esta funcionalidade não existe para NFSe Emitida)","x-title":"Inclui Property de NFSe","description":"Através deste endpoint é possível adicionar ou atualizar o valor de uma Property customizada para um determinado documento.\nA property funciona como um par chave-valor para um documento, permitindo que o usuário indique um valor qualquer para a property que deseja.\nPor padrão sua conta já possui uma property com chave 'status', sendo possível atribuir valores para esta propery para cada documento.\nEstes valores podem depois ser utilizados no parâmetro 'filter' do endpoint de GET.","produces":["application/json"],"parameters":[{"in":"path","name":"role","required":true,"type":"string","minimum":1,"description":"O nome da role. Valores possíves: **received**, **emitted**. ex: **/v1/nfse/received/status**"},{"in":"path","name":"property","required":true,"type":"string","minimum":1,"description":"O nome da chave customizada. Exemplo: status - o endpoint ficaria **/v1/nfse/received/status**"},{"in":"body","name":"data","required":true,"description":"O id da NFSe e o valor que será adicionado ou atualizado para a property. É possível atualizar mais de um valor na mesma requisição, para NFSes com ids diferentes.","schema":{"type":"object","properties":{"data":{"items":{"$ref":"#/definitions/CustomNfse"}}}}}],"responses":{"200":{"description":"Successful update","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"$ref":"#/definitions/Data"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}}}}},"/v1/nfse/{role}/manual/pdf":{"get":{"tags":["NFSe"],"summary":"Recupera o PDF Original de NFSes que entraram pelo fluxo de OCR.","x-title":"PDF Original de NFSe de OCR","description":"Recupera o arquivo PDF de uma NFSe que foi ingerida pelo fluxo de OCR. Este endpoint espera como parâmetro o id da NFSe, que pode ser obtido através do endpoint **/v1/nfse/received** e o CNPJ owner desta NFSe.\nO arquivo PDF é retornado encoded em base64","produces":["application/json"],"parameters":[{"in":"path","name":"role","required":true,"type":"string","minimum":1,"description":"O nome da role. Valores possíves: **received**, **emitted**. ex: **/v1/nfse/received/manual/pdf**"},{"in":"query","name":"id","type":"string","description":"O id da NFSe retornado no endpoint **GET /v1/nfse/received**"},{"in":"query","name":"cnpj","type":"string","description":"O CNPJ owner da NFSe"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"type":"object","properties":{"pdf":{"type":"string"}}}}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}}}}},"/v1/nfse/event":{"post":{"tags":["NFSe"],"summary":"Registra evento de manifestação do tomador em uma NFS-e","x-title":"Evento de NFSe","description":"Este endpoint registra, em nome do tomador, um evento de manifestação sobre uma NFS-e do padrão nacional junto à Sefin Nacional.\n\nOs tipos de evento suportados (`tp_evento`) são:\n- `ConfirmacaoTomador`: confirmação da prestação do serviço pelo tomador (evento `203202` no ADN).\n- `RejeicaoTomador`: rejeição da NFS-e pelo tomador (evento `203206` no ADN). Exige o campo `x_justificativa`, com 15 a 255 caracteres.\n\nO CNPJ informado em `owner` precisa pertencer à conta autenticada; caso contrário, a requisição é recusada com HTTP 403.\n\nA chave de acesso (`access_key`) deve ter exatamente 50 posições, formadas por dígitos ou letras maiúsculas (para suportar o CNPJ alfanumérico). Chaves de NF-e (44 dígitos) são recusadas com HTTP 400.\n\nO processamento é síncrono. Uma resposta HTTP 200 indica que a Sefin Nacional respondeu à requisição, mas não garante que o evento foi registrado:\n- Evento registrado: `data.n_dfse` vem preenchido e `data.erros` vem `null`.\n- Evento rejeitado por regra de negócio da Sefin Nacional: `data.erros` traz o código e a descrição de cada rejeição, e os demais campos do evento não são preenchidos.","operationId":"post_nfse_event_apigateway","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`.","default":"always"},{"in":"body","name":"body","required":true,"description":"Dados do evento de manifestação da NFS-e.","schema":{"$ref":"#/definitions/nfse_event_request"}}],"responses":{"200":{"description":"Requisição processada pela Sefin Nacional. Verifique `data.erros` para saber se o evento foi registrado.","schema":{"$ref":"#/definitions/nfse_event_response"}},"400":{"description":"Requisição inválida: corpo malformado, chave de acesso fora do formato ou `x_justificativa` fora dos limites para `RejeicaoTomador`.","schema":{"$ref":"#/definitions/nfse_event_error_response"},"examples":{"application/json":{"status":{"code":400,"message":"Bad Request"},"error":"Não foi possível processar os dados da requisição.","request_id":"1757595600000-01K4WDS1408Y7N3J4H5G6F7EQ2"}}},"401":{"description":"Não autorizado (headers de autenticação ausentes ou inválidos)."},"403":{"description":"O CNPJ informado em `owner` não pertence à conta autenticada.","schema":{"$ref":"#/definitions/nfse_event_error_response"},"examples":{"application/json":{"status":{"code":403,"message":"Forbidden"},"error":"Você não tem permissão para executar essa operação.","request_id":"1757595600000-01K4WDS1408Y7N3J4H5G6F7EQ2"}}},"500":{"description":"Erro interno. Recomendamos tentar novamente mais tarde.","schema":{"$ref":"#/definitions/nfse_event_error_response"},"examples":{"application/json":{"status":{"code":500,"message":"Internal Server Error"},"error":"Um erro inesperado aconteceu, tente novamente mais tarde.","request_id":"1757595600000-01K4WDS1408Y7N3J4H5G6F7EQ2"}}}}}},"/v1/nfse/events":{"get":{"tags":["NFSe"],"summary":"Busca eventos de NFse.","x-title":"Eventos de NFSes (Fila)","description":"Este endpoint é responsável por buscar eventos de NFSes. Todos os eventos de NFSe serão disponibilizados.\nHoje temos dois cenários para as NFSes consultadas: consulta prefeituras e consulta ambiente nacional:\n - Para as notas de Ambiente Nacional, serão retornados os XMLs, visto que estes são disponibilizados pela SEFAZ.\n - Para as notas de prefeitura, será disponibilizado apenas o 'tipo' do evento, sendo 101101 o tipo de cancelamento, visto que as prefeituras não disponibilizam um XML.","produces":["application/json"],"parameters":[{"in":"query","name":"id","required":false,"type":"array","items":{"type":"string","minLength":40,"maxLength":40},"description":"O id de uma NFSe. Exemplo: `/v1/nfse/events?id[]=11223344556677889900112233445566778899001122`"},{"in":"query","name":"type","required":false,"type":"array","items":{"type":"string","minLength":6,"maxLength":6},"description":"Um Array com os tipos de eventos a serem filtrados. Cada tipo de evento é uma string de 6 dígitos string, exemplo: `/v1/nfse/events?type[]=101101&type[]=105102`'\nExistem diversos tipos de evento, sendo o principal utilizado tipo **101101**, para Cancelamento de uma NFSe"},{"in":"query","name":"limit","type":"integer","description":"Quantidade de XMLs retornados na resposta. Máximo 50 documentos. Caso não seja enviado, serão retornados 50 documentos."},{"in":"query","name":"cursor","type":"integer","description":"O cursor define a posição a partir da qual serão buscados os documentos. Este valor será retorno no campo data.page.next após uma requisição bem sucedida, com o valor do próximo cursor a ser buscado."}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"$ref":"#/definitions/NfseEventData"}},"page":{"type":"object","properties":{"next":{"$ref":"#/definitions/Next"},"previous":{"$ref":"#/definitions/Previous"}}},"count":{"type":"integer"},"signature":{"$ref":"#/definitions/Signature"}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfse/danfse":{"get":{"tags":["NFSe"],"summary":"Busca o Documento Auxiliar (DANFSe) de uma NFSe, sendo um PDF formatado em base64","x-title":"Busca PDF de NFSe","description":"Este endpoint é responsável por realizar a busca do Documento Auxiliar (DANFSe) de uma NFSe, sendo retornado um PDF formatado em base64","produces":["application/json"],"parameters":[{"in":"query","name":"id","required":true,"type":"string","minLength":40,"maxLength":40,"description":"O id de uma NFSe. Exemplo: `/v1/nfse/danfse/?id=40charKey`"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"properties":{"id":{"type":"string"},"encoded_pdf":{"type":"string"}}}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"422":{"description":"Unprocessable Content","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/cte/{role}":{"get":{"tags":["CTe"],"summary":"Busca XMLs de CTes tomadas pelos CNPJs de sua conta","x-title":"Busca de CTes","description":"Este endpoint é responsável por buscar XMLs de CTes tomadas, utilizando alguns filtros.\n- Nossa API utiliza o 'cursor' como parâmetro para paginação. Para cada documento é atribuído um cursor que não muda com o tempo, sendo possível fazer o reprocessamento dos documentos resetando o cursor para 0.\n- O campo 'limit' define a quantidade de documentos retornados na resposta, sendo máximo 50. O padrão, caso não seja enviado, é sempre 50.\n- Campos created_at[from] e created_at[to] definem um range de buscar por datas em que a nota entrou na API - estes campos não se referem à data de emissão da nota e sim a sua criação na Qive.\n- Campo cnpj[] - utilizado para filtrar pelos CNPJs que são 'owner' do documento.\n- Campo access_key[] - permite filtrar por um conjunto de chaves de acesso.\n- Campo format_type - permite retornar os dados do documento em xml ou json.\n- Compo filter - permite realizar uma busca utilizando um filtro personalizado, com valores inseridos através do endpoint de PUT /v1/cte/taker/{property}.\n **Example:**\n `GET /cte/taker?filter=(= processed false)&access_key[]=44charkey&limit=50`","produces":["application/json"],"parameters":[{"in":"path","name":"role","required":true,"type":"string","minimum":1,"description":"O nome da role. Valores possíves: **taker**, **not-taker**. ex: **/v1/cte/taker**"},{"in":"query","name":"limit","type":"integer","description":"Quantidade de XMLs retornados na resposta. Máximo 50 documentos. Caso não seja enviado, serão retornados 50 documentos."},{"in":"query","name":"cursor","type":"integer","description":"O cursor define a posição a partir da qual serão buscados os documentos. Este valor será retorno no campo data.page.next após uma requisição bem sucedida, com o valor do próximo cursor a ser buscado."},{"in":"query","name":"access_key","type":"array","items":{"type":"string","minLength":44,"maxLength":44},"description":"Filtrar uma lista de chaves de acesso. Exemplo de uso deste filtro: v1/cte/taker?access_key[]=44charKey"},{"in":"query","name":"cnpj","type":"array","items":{"type":"string","minLength":14,"maxLength":14},"description":"Filtrar por uma lista de CNPJs ou CPFs. Examplo de uso deste filtro: v1/cte/taker?cnpj[]=34174654000153&cnpj[]=34174654000215"},{"in":"query","name":"filter","type":"string","description":"Filtrar pela presença de um valor para uma custom property, de acordo com a nossa Query Language. Este filtro utiliza uma linguagem pré-fixada, onde os operadores são colocados antes dos operandos.\nOperadores disponíveis:\n  - **=** - Exemplo: filter=(= processed true) - busca notas onde a property \"processed\" possui o valor \"true\"\n  - **NOT_EXISTS** - Exemplo: filter=(NOT_EXISTS processed) - busca notas onde não existe valor para a property \"processed\"\n  - **AND** - Exemplo: filter=(AND (= processed true) (= status 200)) - busca notas onde a property \"processed\" possui o valor \"true\" **E** a property \"status\" possui o valor \"200\"\n  - **OR** - Exemplo: filter=(OR (= processed true) (= status 200)) - busca notas onde a property \"processed\" possui o valor \"true\" **OU** a property \"status\" possui o valor \"200\""},{"in":"query","name":"created_at[from]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[to] for utilizado. Examplo de uso = /v1/cte/taker?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25.\nPode ser utilizado datetime ou apenas date."},{"in":"query","name":"created_at[to]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[from] for utilizado. Examplo de uso = /v1/cte/taker?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25.\nPode ser utilizado datetime ou apenas date."},{"in":"query","name":"format_type","type":"string","description":"Formata a resposta em JSON ou XML","enum":["xml","json"]}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"$ref":"#/definitions/Nfe"}},"page":{"type":"object","properties":{"next":{"$ref":"#/definitions/Next"},"previous":{"$ref":"#/definitions/Previous"}}},"count":{"type":"integer"},"signature":{"$ref":"#/definitions/Signature"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/cte/{role}/{property}":{"put":{"tags":["CTe"],"summary":"Adiciona ou atualiza uma Property customizada para uma CTe Tomada.","x-title":"Inclui Property de CTe","description":"Através deste endpoint é possível adicionar ou atualizar o valor de uma Property customizada para um determinado documento.\nA property funciona como um par chave-valor para um documento, permitindo que o usuário indique um valor qualquer para a property que deseja.\nPor padrão sua conta já possui uma property com chave 'status', sendo possível atribuir valores para esta propery para cada documento.\nEstes valores podem depois ser utilizados no parâmetro 'filter' do endpoint de GET.","produces":["application/json"],"parameters":[{"in":"path","name":"role","required":true,"type":"string","minimum":1,"description":"O nome da role. Valores possíves: **taker**, **not-taker**. ex: **/v1/cte/taker/status**"},{"in":"path","name":"property","required":true,"type":"string","minimum":1,"description":"O nome da chave customizada. Exemplo: status - o endpoint ficaria **/v1/cte/taker/status**"},{"in":"body","name":"data","required":true,"description":"A chave de acesso e o valor que será adicionado ou atualizado para a property. É possível atualizar mais de um valor na mesma requisição, para chaves de acesso diferentes.","schema":{"type":"object","properties":{"data":{"items":{"$ref":"#/definitions/Custom"}}}}}],"responses":{"200":{"description":"Successful update","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"$ref":"#/definitions/Data"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/cte/events":{"get":{"tags":["CTe"],"summary":"Busca os XMLs de todos os eventos de uma CTe","x-title":"Eventos de uma CTe","description":"Este endpoint é responsável por realizar a busca dos XMLs de todos os eventos de uma CTe, retornados em base64.\nTodos os Eventos de uma CTe disponibilizados pela SEFAZ são retornados, sendo possível buscar apenas uma chave de acesso por vez.","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","required":true,"type":"string","minLength":44,"maxLength":44,"description":"A chave de acesso de uma CTe. Exemplo: `/v1/cte/events?access_key=44charKey`"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"xml":{"type":"string"}}}}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v2/cte/events":{"get":{"tags":["CTe"],"summary":"Busca os XMLs de todos os eventos de CTe da conta","x-title":"Eventos de CTes (Fila)","description":"Este endpoint é responsável por realizar a busca dos XMLs de todos os eventos CTe da conta autenticada, retornados em base64.\n - Nossa API utiliza o 'cursor' como parâmetro para paginação. Para cada documento é atribuído um cursor que não muda com o tempo, sendo possível fazer o reprocessamento dos documentos resetando o cursor para 0.\n - O campo 'limit' define a quantidade de documentos retornados na resposta, sendo máximo 50. O padrão, caso não seja enviado, é sempre 50.\n - Campo 'type' represenha o tipo de evento, de acordo com a documentação da SEFAZ.","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","required":false,"type":"array","items":{"type":"string","minLength":44,"maxLength":44},"description":"Uma lista de chaves de acessos de CTes. Exemplo: `/v1/cte/events?access_key[]=44charKey`"},{"in":"query","name":"type","required":false,"type":"array","items":{"type":"string","minLength":6,"maxLength":6},"description":"Um Array com os tipos de eventos a serem filtrados. Cada tipo de evento é uma string de 6 dígitos string, exemplo: `/v2/cte/events?type[]=110111&type[]=110110`'\nExistem diversos tipos de evento, sendo o principal utilizado tipo **110111**, para Cancelamento de uma CTe"},{"in":"query","name":"limit","type":"integer","description":"Quantidade de XMLs retornados na resposta. Máximo 50 documentos. Caso não seja enviado, serão retornados 50 documentos."},{"in":"query","name":"cursor","type":"integer","description":"O cursor define a posição a partir da qual serão buscados os documentos. Este valor será retorno no campo data.page.next após uma requisição bem sucedida, com o valor do próximo cursor a ser buscado."}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"$ref":"#/definitions/EventData"}},"page":{"type":"object","properties":{"next":{"$ref":"#/definitions/Next"},"previous":{"$ref":"#/definitions/Previous"}}},"count":{"type":"integer"},"signature":{"$ref":"#/definitions/Signature"}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/cte/upload":{"post":{"tags":["CTe"],"summary":"Realiza o Upload de um lote de CTes","x-title":"Upload de CTes - Bulk","description":"Este endpoint é responsável por fazer o upload de um lote de XMLS de CTes. O processo é feito de forma assíncrona, tendo como retorno um **request_id** que deve ser utilizado no endpoint **/v1/cte/upload/status** para acompanhar o status do lote.\nPode ser passado uma url de callback no banco **callback_url**. Caso seja feito, será realizado um callback com o resultado do processamento.","produces":["application/json"],"parameters":[{"in":"body","name":"invoices","required":true,"description":"Este campo deve conter os XMLs das CTes encodados em Base64","schema":{"type":"object","required":["invoices"],"properties":{"invoices":{"type":"array","items":{"type":"object","required":["xml"],"properties":{"xml":{"type":"string"}}}},"callback_url":{"type":"string"}}}}],"responses":{"200":{"description":"Successful upload","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"request_id":{"type":"string"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/cte/upload/status":{"get":{"tags":["CTe"],"summary":"Verifica o status de um pedido de upload de lote de CTes, utilizando o request_id","x-title":"Status de Upload de CTes","description":"Este endpoint é responsável por retornar os status do upload de um lote de CTes.\nDeve ser utilizado o **request_id** retornado no endpoint **/v1/cte/upload** para verificação.\n **Exemplo:**\n`GET /nfe/upload/status?request_id=string`","produces":["application/json"],"parameters":[{"in":"query","name":"request_id","type":"string","description":"O request_id retornado ao fazer o upload de CTe, no endpoint **/v1/cte/upload**"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"$ref":"#/definitions/DataCTeUploadStatus"}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/cte/dacte":{"get":{"tags":["CTe"],"summary":"Busca o Documento Auxiliar (DACTe) de uma CTe, retornando um PDF em base64","x-title":"Busca PDF de uma CTe","description":"Este endpoint é responsável por realizar a busca do Documento Auxiliar (DACTe) de uma CTe, retornando um PDF em base64,","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","required":true,"type":"string","minLength":44,"maxLength":44,"description":"A chave de acesso de uma CTe. Exemplo: `/v1/cte/dacte?access_key=44charKey`"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"properties":{"access_key":{"type":"string"},"encoded_pdf":{"type":"string"}}}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"422":{"description":"Unprocessable Content","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/dfe/cteos":{"post":{"description":"Este endpoint permite buscar todos os CTe-OS da conta, retornando os dados conforme a projeção solicitada, com suporte a filtros avançados como chave de acesso, CNPJ do emitente, tomador, status e intervalo de datas.","produces":["application/json"],"summary":"Lista os CTe-OS da conta com base nos filtros aplicados","x-title":"Busca de CTe-OS - NOVA!","operationId":"HTTPCteOSListRequestV1","tags":["CTe-OS"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"name":"Body","in":"body","description":"A API busca CTe-OS através dos seguintes filtros, que devem ser enviados no corpo da requisição:\n\n### Filtros (`Filters`):\n\n- **`CreatedAt`** (Objeto com `From` e `To`) – Filtra os documentos pelo intervalo de data/hora de criação do registro no sistema.\n- **`EmissionDate`** (Objeto com `From` e `To`) – Filtra os documentos pelo intervalo de data/hora de emissão.\n- **`DocumentIdentifier`** – Chave de acesso do CTe-OS para busca exata (44 caracteres).\n- **`Owners`** (Array) – Lista de CNPJs/CPFs dos proprietários dos documentos na Qive.\n- **`EmitterCnpj`** (Array) – Lista de CNPJs/CPFs dos emitentes para filtrar os documentos.\n- **`Status`** – Status do documento. Valores possíveis: `\"authorized\"`, `\"canceled\"`.\n- **`Origin`** – Origem do documento. Valores possíveis: `\"sefaz\"`, `\"upload\"`, `\"upload_zip\"`, `\"upload_daemon\"`, `\"upload_api\"`, `\"email\"`, `\"integracoes\"`.\n- **`HasCCE`** (Boolean) – Indica se o documento possui Carta de Correção Eletrônica.\n- **`HasManifestation`** (Boolean) – Indica se o documento possui manifestação.\n- **`Cfops`** (Array) – Lista de CFOPs para filtrar os documentos.\n- **`Tags`** (Array) – Lista de IDs de tags para filtrar os documentos.\n- **`Types`** (Array) – Lista de tipos de CTe-OS para filtrar os documentos.\n\n### Fields (campos retornados):\n\n- **`Fields`** (Array) – Lista de campos específicos do CTe-OS a serem retornados: `\"Xml\"`, `\"Origin\"`, `\"Events\"`, `\"Tags\"`, `\"Cfops\"`, `\"AccessKey\"`, `\"EmissionDate\"`, `\"CreatedAt\"`, `\"HasCCE\"`, `\"Manifestations\"`, `\"Number\"`, `\"Owner\"`, `\"OwnerRole\"`, `\"Emitter\"`, `\"Status\"`, `\"Taker\"`. Caso não informado, serão retornados `\"AccessKey\"` e `\"Xml\"` por padrão.\n\n### Outros parâmetros:\n\n- **`Paginator`** (String) – Token de paginação (cursor) para buscar o próximo conjunto de resultados.\n- **`Limit`** (Inteiro) – Limite de documentos retornados por requisição (máximo 500).","schema":{"type":"object","properties":{"Fields":{"description":"Lista de campos a serem retornados na resposta. Caso não informado, o padrão retornado é: AccessKey e Xml.","type":"array","items":{"type":"string"},"example":["Xml","Origin","Events","Tags","Cfops","AccessKey","EmissionDate","CreatedAt","HasCCE","Manifestations","Number","Owner","OwnerRole","Emitter","Status","Taker"]},"Filters":{"$ref":"#/definitions/FiltersCTeOSV1"},"Limit":{"description":"Número máximo de resultados a serem retornados (padrão: 500, máximo: 500).","type":"integer","format":"int64","example":100},"Paginator":{"description":"Token de paginação (cursor) para buscar a próxima página de resultados.","type":"string","example":"[\"75e7ccc0a702d0a823a2ef073a023c8fc9afedf7\"]"}}}}],"responses":{"200":{"description":"HTTPCteOSListResponseBodyV1 contém a resposta da chamada para a API de listagem de CTe-OS.","schema":{"$ref":"#/definitions/HTTPCteOSListResponseBodyV1"}},"default":{"description":"Retornado em caso de erro.","schema":{"$ref":"#/definitions/ErrorDescription"}}}}},"/v1/cte-os/{role}":{"get":{"tags":["CTe-OS"],"summary":"Busca XMLs de CTes-OS tomadas pelos CNPJs de sua conta","x-title":"Busca de CTe-OS","description":"Este endpoint é responsável por buscar XMLs de CTes-OS tomadas, utilizando alguns filtros.\n- Nossa API utiliza o 'cursor' como parâmetro para paginação. Para cada documento é atribuído um cursor que não muda com o tempo, sendo possível fazer o reprocessamento dos documentos resetando o cursor para 0.\n- O campo 'limit' define a quantidade de documentos retornados na resposta, sendo máximo 50. O padrão, caso não seja enviado, é sempre 50.\n- Campos created_at[from] e created_at[to] definem um range de buscar por datas em que a nota entrou na API - estes campos não se referem à data de emissão da nota e sim a sua criação na Qive.\n- Campo cnpj[] - utilizado para filtrar pelos CNPJs que são 'owner' do documento.\n- Campo access_key[] - permite filtrar por um conjunto de chaves de acesso.\n- Compo filter - permite realizar uma busca utilizando um filtro personalizado, com valores inseridos através do endpoint de PUT /v1/cte-os/taker/{property}.\n **Example:**\n `GET /cte/taker?filter=(= processed false)&access_key[]=44charkey&limit=50`","produces":["application/json"],"parameters":[{"in":"path","name":"role","required":true,"type":"string","minimum":1,"description":"O nome da role. Valores possíves: **taker**, **not-taker**. ex: **/v1/cte-os/taker**"},{"in":"query","name":"limit","type":"integer","description":"Quantidade de XMLs retornados na resposta. Máximo 50 documentos. Caso não seja enviado, serão retornados 50 documentos."},{"in":"query","name":"cursor","type":"integer","description":"O cursor define a posição a partir da qual serão buscados os documentos. Este valor será retorno no campo data.page.next após uma requisição bem sucedida, com o valor do próximo cursor a ser buscado."},{"in":"query","name":"access_key","type":"array","items":{"type":"string","minLength":44,"maxLength":44},"description":"Filtrar uma lista de chaves de acesso. Exemplo de uso deste filtro: v1/cte-os/taker?access_key[]=44charKey"},{"in":"query","name":"cnpj","type":"array","items":{"type":"string","minLength":14,"maxLength":14},"description":"Filtrar por uma lista de CNPJs ou CPFs. Examplo de uso deste filtro: v1/cte-os/taker?cnpj[]=34174654000153&cnpj[]=34174654000215"},{"in":"query","name":"filter","type":"string","description":"Filtrar pela presença de um valor para uma custom property, de acordo com a nossa Query Language. Este filtro utiliza uma linguagem pré-fixada, onde os operadores são colocados antes dos operandos.\nOperadores disponíveis:\n  - **=** - Exemplo: filter=(= processed true) - busca notas onde a property \"processed\" possui o valor \"true\"\n  - **NOT_EXISTS** - Exemplo: filter=(NOT_EXISTS processed) - busca notas onde não existe valor para a property \"processed\"\n  - **AND** - Exemplo: filter=(AND (= processed true) (= status 200)) - busca notas onde a property \"processed\" possui o valor \"true\" **E** a property \"status\" possui o valor \"200\"\n  - **OR** - Exemplo: filter=(OR (= processed true) (= status 200)) - busca notas onde a property \"processed\" possui o valor \"true\" **OU** a property \"status\" possui o valor \"200\""},{"in":"query","name":"created_at[from]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[to] for utilizado. Examplo de uso = /v1/cte-os/taker?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25.\nPode ser utilizado datetime ou apenas date."},{"in":"query","name":"created_at[to]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[from] for utilizado. Examplo de uso = /v1/cte-os/taker?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25.\nPode ser utilizado datetime ou apenas date."}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"$ref":"#/definitions/Nfe"}},"page":{"type":"object","properties":{"next":{"$ref":"#/definitions/Next"},"previous":{"$ref":"#/definitions/Previous"}}},"count":{"type":"integer"},"signature":{"$ref":"#/definitions/Signature"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/cte-os/{role}/{property}":{"put":{"tags":["CTe-OS"],"summary":"Adiciona ou atualiza uma Property customizada para uma CTe-OS Tomada.","x-title":"Inclui Property de CTe-OS","description":"Através deste endpoint é possível adicionar ou atualizar o valor de uma Property customizada para um determinado documento.\nA property funciona como um par chave-valor para um documento, permitindo que o usuário indique um valor qualquer para a property que deseja.\nPor padrão sua conta já possui uma property com chave 'status', sendo possível atribuir valores para esta propery para cada documento.\nEstes valores podem depois ser utilizados no parâmetro 'filter' do endpoint de GET.","produces":["application/json"],"parameters":[{"in":"path","name":"role","required":true,"type":"string","minimum":1,"description":"O nome da role. Valores possíves: **taker**, **not-taker**. ex: **/v1/cte-os/taker/status**"},{"in":"path","name":"property","required":true,"type":"string","minimum":1,"description":"O nome da chave customizada. Exemplo: status - o endpoint ficaria **/v1/cte-s/not-taker/status**"},{"in":"body","name":"data","required":true,"description":"A chave de acesso e o valor que será adicionado ou atualizado para a property. É possível atualizar mais de um valor na mesma requisição, para chaves de acesso diferentes.","schema":{"type":"object","properties":{"data":{"items":{"$ref":"#/definitions/Custom"}}}}}],"responses":{"200":{"description":"Successful update","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"$ref":"#/definitions/Data"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/cte-os/events":{"get":{"tags":["CTe-OS"],"summary":"Busca os XMLs de todos os eventos de uma CTe-OS","x-title":"Eventos de uma CTe-OS","description":"Este endpoint é responsável por realizar a busca dos XMLs de todos os eventos de uma CTe-OS, retornados em base64.\nTodos os Eventos de uma CTe-OS disponibilizados pela SEFAZ são retornados, sendo possível buscar apenas uma chave de acesso por vez.","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","required":true,"type":"string","minLength":44,"maxLength":44,"description":"A chave de acesso de uma CTe-OS. Exemplo: `/v1/cte-os/events?access_key=44charKey`"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"xml":{"type":"string"}}}}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/cte-os/dacteos":{"get":{"tags":["CTe-OS"],"summary":"Busca o Documento Auxiliar (DACTe-OS) de uma CTe-OS, retornando um PDF em base64","x-title":"Busca PDF de uma CTe-OS","description":"Este endpoint é responsável por realizar a busca do Documento Auxiliar (DACTe) de uma CTe-OS, retornando um PDF em base64,","produces":["application/json"],"parameters":[{"in":"query","name":"access_key","required":true,"type":"string","minLength":44,"maxLength":44,"description":"A chave de acesso de uma CTe-OS. Exemplo: `/v1/cte-os/dacteos?access_key=44charKey`"}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"properties":{"access_key":{"type":"string"},"encoded_pdf":{"type":"string"}}}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"errors":{"$ref":"#/definitions/Error"}}}},"422":{"description":"Unprocessable Content","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/nfce/emitted":{"get":{"tags":["NFCe"],"summary":"Busca XMLs de NFCes emitidas pelos CNPJs de sua conta","x-title":"Busca de NFCes","description":"Este endpoint é responsável por buscar XMLs de NFCes emitidas, utilizando alguns filtros.\n- Nossa API utiliza o 'cursor' como parâmetro para paginação. Para cada documento é atribuído um cursor que não muda com o tempo, sendo possível fazer o reprocessamento dos documentos resetando o cursor para 0.\n- O campo 'limit' define a quantidade de documentos retornados na resposta, sendo máximo 50. O padrão, caso não seja enviado, é sempre 50.\n- Campos created_at[from] e created_at[to] definem um range de buscar por datas em que a nota entrou na API - estes campos não se referem à data de emissão da nota e sim a sua criação na Qive.\n- Campo cnpj[] - utilizado para filtrar pelos CNPJs que são 'owner' do documento.\n- Campo access_key[] - permite filtrar por um conjunto de chaves de acesso.\n **Example:**\n `GET /nfce/emitted?access_key[]=44charkey&limit=50`","produces":["application/json"],"parameters":[{"in":"query","name":"limit","type":"integer","description":"Quantidade de XMLs retornados na resposta. Máximo 50 documentos. Caso não seja enviado, serão retornados 50 documentos."},{"in":"query","name":"cursor","type":"integer","description":"O cursor define a posição a partir da qual serão buscados os documentos. Este valor será retorno no campo data.page.next após uma requisição bem sucedida, com o valor do próximo cursor a ser buscado."},{"in":"query","name":"access_key","type":"array","items":{"type":"string","minLength":44,"maxLength":44},"description":"Filtrar uma lista de chaves de acesso. Exemplo de uso deste filtro: v1/nfce/emitted?access_key[]=44charKey"},{"in":"query","name":"cnpj","type":"array","items":{"type":"string","minLength":14,"maxLength":14},"description":"Filtrar por uma lista de CNPJs ou CPFs. Examplo de uso deste filtro: v1/nfce/emitted?cnpj[]=34174654000153&cnpj[]=34174654000215"},{"in":"query","name":"created_at[from]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[to] for utilizado. Examplo de uso = /v1/nfce/emitted?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25.\nPode ser utilizado datetime ou apenas date."},{"in":"query","name":"created_at[to]","type":"string","description":"Filtrar por datas de criação da nota na API. Este campo é obrigatório quando o campo created_at[from] for utilizado. Examplo de uso = /v1/nfce/emitted?created_at[from]=2019-09-12 15:30:25&created_at[to]=2019-09-15 15:30:25.\nPode ser utilizado datetime ou apenas date."}],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"$ref":"#/definitions/Nfe"}},"page":{"type":"object","properties":{"next":{"$ref":"#/definitions/Next"},"previous":{"$ref":"#/definitions/Previous"}}},"count":{"type":"integer"},"signature":{"$ref":"#/definitions/Signature"}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/dfe/mdfe":{"post":{"description":"Este endpoint permite buscar todos os MDFes da conta, retornando as chaves de acesso, origens e os XMLs, encodados em base64, dos MDFes obtidos.","produces":["application/json"],"summary":"Lista os MDFes da conta com base nos filtros aplicados","x-title":"Busca de MDFes","operationId":"HTTPMdfeListRequestV1","tags":["MDFe"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"name":"Body","in":"body","description":"A API busca MDFes através dos seguintes filtros, que devem ser enviados no corpo da requisição:\n\n### Filtros (`Filter`):\n\n- **`AccessKeys`** (Array) – Filtra por chaves de acesso do MDFe.\n- **`CompanyRole`** (Array) – Filtra pelo papel da empresa no MDFe. Valores aceitos: `emitted`, `received`, `waiting`, `transporter`, `intermediate`, `intermediate_shipper`, `intermediate_dispatcher`, `intermediate_receiver`, `other`.\n- **`CreatedAt`** (Objeto com `From` e `To`) – Filtra pelo intervalo de data de criação do registro na plataforma.\n- **`EmissionDate`** (Objeto com `From` e `To`) – Filtra pelo intervalo de data de emissão do MDFe.\n- **`EmitterCnpj`** (Array) – Filtra por CNPJ do emitente.\n- **`EmitterType`** (Array) – Filtra por tipo de emitente. Valores aceitos: `1` (Prestador de serviço de transporte), `2` (Transportador de Carga Própria), `3` (Prestador de serviço que emitirá CT-e Globalizado).\n- **`Modals`** (Array) – Filtra por modal de transporte. Valores aceitos: `1` (Rodoviário), `2` (Aéreo), `3` (Aquaviário), `4` (Ferroviário).\n- **`Number`** (Inteiro) – Filtra por número do MDFe.\n- **`Origin`** (Array) – Filtra pela origem pela qual o MDFe foi obtido. Valores aceitos: `sefaz`, `upload`, `upload_zip`, `email`, `upload_daemon`, `integracoes_ocr`, `upload_api`.\n- **`Owners`** (Array) – Filtra por CNPJ dos proprietários dos MDFes.\n- **`Status`** (Array) – Filtra por status do MDFe. Valores aceitos: `authorized`, `canceled`, `closed`.\n- **`TransporterType`** (Array) – Filtra por tipo de transportador. Valores aceitos: `1` (ETC), `2` (TAC), `3` (CTC).\n\n### Campos retornados (`Fields`) – Lista de campos a serem retornados. Quando não informado, o padrão retornado é: `AccessKey`, `Origin`, `Owner`.\n\n### Outros parâmetros:\n\n- **`Limit`** (Inteiro) – Número máximo de resultados por página.\n- **`Paginator`** (String) – Token de paginação para buscar a próxima página de resultados.","schema":{"type":"object","properties":{"Filter":{"description":"Filtros para busca dos MDFes.","type":"object","properties":{"AccessKeys":{"description":"Filtra por chaves de acesso do MDFe.","type":"array","items":{"type":"string"},"example":["35260544914992000138580020007357391702793584"]},"CompanyRole":{"description":"Filtra pelo papel da empresa no MDFe. Valores aceitos: emitted, received, waiting, transporter, intermediate, intermediate_shipper, intermediate_dispatcher, intermediate_receiver, other.","type":"array","items":{"type":"string"},"example":["emitted","received","transporter"]},"CreatedAt":{"$ref":"#/definitions/TimeRange"},"EmissionDate":{"$ref":"#/definitions/TimeRange"},"EmitterCnpj":{"description":"Filtra por CNPJ do emitente.","type":"array","items":{"type":"string"},"example":["03160081000185"]},"EmitterType":{"description":"Filtra por tipo de emitente. Valores aceitos: 1 (Prestador de serviço de transporte), 2 (Transportador de Carga Própria), 3 (Prestador de serviço que emitirá CT-e Globalizado).","type":"array","items":{"type":"integer","format":"int64"},"example":[1,2,3]},"Modals":{"description":"Filtra por modal de transporte. Valores aceitos: 1 (Rodoviário), 2 (Aéreo), 3 (Aquaviário), 4 (Ferroviário).","type":"array","items":{"type":"integer","format":"int64"},"example":[1,2,3,4]},"Number":{"description":"Filtra por número do MDFe.","type":"integer","format":"int64","example":42},"Origin":{"description":"Filtra pela origem pela qual o MDFe foi obtido. Valores aceitos: sefaz, upload, upload_zip, email, upload_daemon, integracoes_ocr e upload_api.","type":"array","items":{"type":"string"},"example":["sefaz","upload"]},"Owners":{"description":"Filtra por CNPJ dos proprietários dos MDFes.","type":"array","items":{"type":"string"},"example":["03160081000185"]},"Status":{"description":"Filtra por status do MDFe. Valores aceitos: authorized, canceled, closed.","type":"array","items":{"type":"string"},"example":["authorized","canceled","closed"]},"TransporterType":{"description":"Filtra por tipo de transportador. Valores aceitos: 1 (ETC - Empresa de Transporte Rodoviário de Cargas), 2 (TAC - Transportador Autônomo de Cargas), 3 (CTC - Cooperativa de Transporte Rodoviário de Cargas).","type":"array","items":{"type":"integer","format":"int64"},"example":[1,2,3]}}},"Limit":{"description":"Número máximo de resultados por página.","type":"integer","format":"int64","example":25},"Paginator":{"description":"Token de paginação para buscar a próxima página de resultados.","type":"string","example":"cursor-1"},"Fields":{"description":"Define os campos a serem retornados. Quando não informado, o padrão retornado é: AccessKey, Origin, Owner.","type":"array","items":{"type":"string"},"example":["AccessKey","Number","Serie","Model","Code","Status","Origin","Owner","TransporterType","Modal","EmissionDate","EmitterState","EmitterType","CompanyRole","CreatedAt","IsProtocoled","IsSigned","Totals","RouteStates","ShipmentState","DischargeState","ShipmentCitiesInfo","EmitterInfo","DischargeCitiesInfo","TravelStartsAt","RoadTransportInfo","RailTransportInfo","AirTransportInfo","ShipTransportInfo","XML","Events"]}}}}],"responses":{"200":{"description":"Resposta da chamada para a API de listagem de MDFes.","schema":{"$ref":"#/definitions/HTTPMdfeListResponseBody"}},"default":{"description":"Retornado em caso de erro.","schema":{"type":"object","properties":{"error":{"$ref":"#/definitions/ErrorDescription"}}}}}}},"/v1/property":{"get":{"tags":["Property"],"summary":"Retorna todas as chaves de properties disponíveis para uso nos endpoints específicos.","x-title":"Lista de Property","description":"Este endpoint é responável por retornar todas as chaves de properties disponíveis para conta, para uso nos endpoints de PUT de property.\n **Example:**\n `GET /v1/property`","produces":["application/json"],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"$ref":"#/definitions/PropertyData"}}}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"object","description":"Error details"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}}}}},"/v1/company":{"get":{"tags":["Empresas"],"summary":"Busca todos os CNPJs da conta autenticada.","x-title":"Lista Empresas da Conta","description":"Busca todos os CNPJs da conta autenticada","produces":["application/json"],"responses":{"200":{"description":"Successful fetch","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"array","items":{"type":"string"}}}},"headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"}}},"400":{"description":"Bad request","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"401":{"description":"Unauthorized","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"404":{"description":"Not found","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"405":{"description":"Method not allowed","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}},"429":{"description":"Too many requests","headers":{"X-RateLimit-Limit":{"description":"Número de requisições permitidas para o período","type":"integer"},"X-RateLimit-Remaining":{"description":"Número de requisições ainda disponíveis para serem feitas no período","type":"integer"},"X-RateLimit-Reset":{"description":"Timestamp do momento em que o X-RateLimit-Remaining irá resetar","type":"integer"},"Retry-After":{"description":"Tempo, em segundos, até que ocorra o reset do X-RateLimit-Remaining","type":"integer"}}},"500":{"description":"Internal Server Error","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"$ref":"#/definitions/Error"}}}}}}},"/v1/invoice/search":{"get":{"description":"Este endpoint possibilita a busca por invoices internacionais que foram processadas e ingeridas na Qive através de OCR.\nA resposta retorna um objeto JSON contendo uma lista de invoices. Cada invoice é composta pelos seguintes dados:\n  - **ID**: Identificador único da invoice na API Qive.\n  - **Parsed Document**: Uma representação estruturada dos dados invoice.\n\nO endpoint retorna um máximo de 50 invoices por página. A busca pode ser filtrada utilizando a data em que o documento foi processado pela Qive.","produces":["application/json"],"tags":["Invoice"],"summary":"Busca invoices, documentos internacionais ingeridos através de OCR","x-title":"Busca de Invoices","operationId":"search-invoices","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`.","default":"always"},{"type":"string","format":"date-time","description":"Data inicial para o filtro de busca. Esta data se refere à data em que o documento foi ingerido pela Qive. Utilize o formato: `2025-01-23T00:00:00Z`.","name":"initial_date","in":"query","required":true},{"type":"string","format":"date-time","description":"Data final para o filtro de busca. Esta data se refere à data em que o documento foi ingerido pela Qive. Utilize o formato: `2025-01-23T23:59:59Z`.","name":"final_date","in":"query","required":true},{"minimum":1,"type":"integer","format":"int64","description":"Página que deve ser buscada pela API. Cada página retorna um total de até 50 documentos.","name":"page","in":"query","required":true}],"responses":{"200":{"description":"Successful fetch","schema":{"$ref":"#/definitions/SearchHTTPResponseV1"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/invoice/{id}":{"get":{"description":"Disponível somente em ambiente de produção.\n\nEste endpoint é equivalente ao `/v1/invoice/search`, mas com a finalidade de retornar um documento específico de invoice a partir de seu identificador único.\n\nA resposta será um objeto JSON contendo o documento solicitado, com os seguintes campos:\n\n- **id**: identificador único do documento na API da Qive.\n- **parsed_document**: objeto estruturado com os dados extraídos do documento de invoice.\n\nEsse recurso é útil para consultas diretas a um documento previamente conhecido, sem a necessidade de navegação paginada ou filtros adicionais.","produces":["application/json"],"tags":["Invoice"],"summary":"Retrieve invoice by id","x-title":"Retorna Invoice por Id","operationId":"get-invoice","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`.","default":"always"},{"type":"string","description":"id é o ID do documento de invoice a ser buscado na API.","name":"id","in":"path","required":true}],"responses":{"200":{"description":"Successfull Fetch","schema":{"$ref":"#/definitions/GetHTTPResponseV1"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/invoice/{id}/pdf":{"get":{"description":"Disponível somente em ambiente de produção.\n\nEste endpoint retorna um documento do tipo invoice em formato PDF, de acordo com o `id` do documento informado.\n\nA resposta é um objeto JSON contendo o conteúdo do PDF no campo `pdf_content`.\n\nO PDF disponibilizado por este recurso não é gerado pela Qive. Trata-se exatamente do arquivo original recebido via endpoint de upload `/v1/ocr/upload` ou encaminhado para a sua caixa personalizada de OCR.","produces":["application/json"],"tags":["Invoice"],"summary":"Retrieve Invoice PDF","x-title":"Retorna PDF de Invoice","operationId":"get-invoice-pdf","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`.","default":"always"},{"type":"string","description":"id é o ID do documento de invoice a ser buscado na API.","name":"id","in":"path","required":true}],"responses":{"200":{"description":"Successfull Fetch","schema":{"$ref":"#/definitions/GetPdfHTTPResponseV1"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/utility/search":{"get":{"description":"Disponível somente em ambiente de produção.\n\nEste endpoint permite a busca por documentos do tipo utility processados por OCR ou importação de XML. Atualmente, suportamos os tipos: \n- `electricity`: Notas de energia elétrica (ex: modelos 6 e 66, ou NF3-e).\n- `telecom`: Notas de telecomunicações (ex: modelos 21, 22 e 62).\n- `water`: Contas de água e saneamento.\n- `gas`: Contas de fornecimento de gás.\n- `generic`: Documentos diversos (notas de débito, recibos, faturas de locação).\n\nA resposta retorna uma lista paginada (máximo de 50 documentos por página). Sempre que houver uma nova página disponível, o parâmetro `page.next` estará presente no JSON de retorno.\n\nPara que os documentos estejam disponíveis neste recurso, é necessário realizar o envio do **PDF** para a sua caixa de OCR personalizada ou através do endpoint `/v1/ocr/upload`.","produces":["application/json"],"tags":["Utilities"],"summary":"Busca por documentos de Utilities (Energia, Água, Gás, Telecom e Genéricos)","x-title":"Busca de Utilities","operationId":"search-utility","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Indica roteamento pelo API Gateway da Qive.","default":"always"},{"type":"string","format":"date-time","description":"Data inicial da ingestão do documento pela Qive. Formato: `2025-01-23T00:00:00Z`.","name":"initial_date","in":"query","required":true},{"type":"string","format":"date-time","description":"Data final da ingestão do documento pela Qive. Formato: `2025-01-23T23:59:59Z`.","name":"final_date","in":"query","required":true},{"minimum":1,"type":"integer","format":"int64","description":"Página atual da busca.","name":"page","in":"query","required":true},{"type":"string","description":"Lista de tipos separados por vírgula. Tipos suportados: `electricity`, `telecom`, `water`, `gas`, `generic`.","name":"document_types","in":"query","required":true}],"responses":{"200":{"description":"Busca realizada com sucesso.","schema":{"$ref":"#/definitions/SearchUtilitiesHTTPResponseV1"}},"default":{"description":"Erro na requisição.","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/utility/{document_type}/{id}":{"get":{"description":"Disponível somente em ambiente de produção.\n\nEste endpoint é equivalente ao `/v1/utility/search`, mas com a finalidade de retornar um documento específico de utility a partir de seu identificador único.\n\nEsse recurso é útil para consultas diretas a um documento previamente conhecido, sem a necessidade de navegação paginada ou filtros adicionais.","produces":["application/json"],"tags":["Utilities"],"summary":"Retorna um documento de Utilities por ID","x-title":"Retorna Utility por Id","operationId":"get-utility","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Indica roteamento pelo API Gateway da Qive.","default":"always"},{"type":"string","description":"Identificador único do documento na API Qive.","name":"id","in":"path","required":true},{"type":"string","description":"Tipo do documento. Suportados: `electricity`, `telecom`, `water`, `gas`, `generic`.","name":"document_type","in":"path","required":true}],"responses":{"200":{"description":"Documento recuperado com sucesso.","schema":{"$ref":"#/definitions/GetUtilityHTTPResponseV1"}},"default":{"description":"Erro","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/utility/{document_type}/{id}/pdf":{"get":{"description":"Disponível somente em ambiente de produção.\n\nEste endpoint retorna um documento o PDF original da Utility, de acordo com o `id` informado.\n\nA resposta é um objeto JSON contendo o conteúdo do PDF no campo `pdf_content`, codificado em base64.\n\nO PDF disponibilizado por este recurso não é gerado pela Qive. Trata-se exatamente do arquivo original recebido via endpoint de upload `/v1/ocr/upload` ou encaminhado para a sua caixa personalizada de OCR.","produces":["application/json"],"tags":["Utilities"],"summary":"Retorna o PDF de um documento de Utilities","x-title":"Retorna PDF de Utility","operationId":"get-utility-pdf","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Indica roteamento pelo API Gateway da Qive.","default":"always"},{"type":"string","description":"Identificador único do documento na API Qive.","name":"id","in":"path","required":true},{"type":"string","description":"Tipos suportados: `electricity`, `telecom`, `water`, `gas`, `generic`.","name":"document_type","in":"path","required":true}],"responses":{"200":{"description":"PDF recuperado com sucesso.","schema":{"$ref":"#/definitions/GetUtilityPdfHTTPResponseV1"}},"default":{"description":"Erro","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/utility/{document_type}/{id}/xml":{"get":{"description":"Disponível somente em ambiente de produção.\n\nEste endpoint retorna um documento do tipo utility em formato XML, de acordo com o `id` informado.\n\nA resposta é um objeto JSON contendo o conteúdo do XML no campo `xml_content`, codificado em base64.\n\nAtualmente, este recurso está disponível apenas para documentos processados via XML. A importação de XML de utilities está restrita, no momento, a documentos do tipo `electricity` no formato **XML NF3-e**. Portanto, apenas nesses casos é esperado um retorno de sucesso ao utilizar este endpoint.","produces":["application/json"],"tags":["Utilities"],"summary":"Retorna o XML de um documento de Utilities","x-title":"Retorna XML de Utility","operationId":"get-utility-xml","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Indica roteamento pelo API Gateway da Qive.","default":"always"},{"type":"string","x-go-name":"DocumentID","description":"Identificador único do documento na API Qive.","name":"id","in":"path","required":true},{"type":"string","x-go-name":"DocumentType","description":"Lista de tipos separados por vírgula. Tipos suportados: `electricity`, `telecom`, `water`, `gas`, `generic`.","name":"document_type","in":"path","required":true}],"responses":{"200":{"description":"Successful fetch","schema":{"$ref":"#/definitions/GetUtilityXMLHTTPResponseV1"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/ocr/upload":{"post":{"description":"Disponível somente em ambiente de produção.\n\nEste endpoint realiza o upload de arquivos PDF para o processo de OCR (Reconhecimento Óptico de Caracteres), utilizado na automação do inbound de NFS-e e documentos de consumo (utilities).\n\nUtilizando um conteúdo misto de tecnologias — desde Machine Learning a IA Generativa — este recurso é capaz de interpretar o conteúdo do PDF recebido, classificar e, estruturar:\n- Para documentos do tipo NFS-e, em um XML padronizado no layout ABRASF;\n- Para outros tipos de documentos, em um JSON unificado, no padrão Qive.\n\nRequisitos:\n- Header obrigatório: X-Use-ApiGateway: always\n- O corpo da requisição deve conter:\n  - 'file': conteúdo do PDF codificado em base64\n  - 'filename': nome do arquivo (string)\n\nSe o upload for bem-sucedido, a resposta incluirá o status da solicitação e um 'message_id', que poderá ser utilizado para consultar o andamento ou resultado do processamento através do endpoint `/v1/ocr/status`.\n\nPara habilitar o acesso a este recurso, entre em contato com o gerente da sua conta ou com o time de atendimento da Qive.","produces":["application/json"],"tags":["OCR"],"summary":"Upload de PDF para OCR","x-title":"Upload de PDF para OCR","operationId":"post-ocr-pdf","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`.","default":"always"},{"in":"body","name":"body","required":true,"description":"A API recebe os metadados enviados a partir de um par chave-valor, no formato \"key\": \"value\".\n- Campo `file`- recebe o PDF encoded em base64.\n- Campo `filename` - recebe o nome do arquivo a ser enviado.","schema":{"type":"object","required":["filename","file"],"properties":{"meta":{"description":"meta is the metadata sent in key and value format","type":"object","example":{"chave":"valor"}},"file":{"description":"file is the content of the file in base64","type":"string","example":"arquivo.pdf"},"filename":{"description":"filename is the name of the file to be sent","type":"string","example":"base64 string"}}}}],"responses":{"200":{"description":"Successful upload","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/OCRStatusResponse"},"data":{"$ref":"#/definitions/OCRDataResponse"}}}},"default":{"description":"Successful upload","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/ocr/status":{"get":{"description":"Disponível somente em ambiente de produção.\n\nEste endpoint permite consultar o status de processamento de um documento enviado via `/v1/ocr/upload` para o fluxo de OCR (Reconhecimento Óptico de Caracteres).\n\nOs possíveis valores do campo `status_code` são:\n- `processing`: o documento está em processamento.\n- `success`: o documento foi processado com sucesso.\n- `error`: ocorreu uma falha durante o processamento.\n\nQuando `status_code` for `error`, o campo `error_code` poderá indicar o tipo de erro ocorrido. Atualmente, os valores possíveis são:\n- `DOCUMENT_RESTRICTED`: município bloqueado para processamento via OCR. Para mais informações, entre em contato com o time de atendimento.\n- `DOCUMENT_NOT_ENABLED`: documento não habilitado para sua conta. Verifique a habilitação junto ao time de atendimento.\n- `INVALID_FILE`: arquivo inválido. Certifique-se de que é um PDF válido e que não excede o limite de 10 páginas permitidas.\n- `INVALID_NFSE`: documento não reconhecido como uma NFS-e válida. O documento enviado atende aos critérios de processamento, mas não foi identificado como uma NFS-e válida.\n- `MANUAL_REVIEW_REQUIRED`: documento em análise manual. Aguarde o processamento por nossa equipe de operações.\n- `UNAUTHENTICATED_NFSE`: nfse não autenticada na prefeitura. Não foi possível confirmar a validade do documento. Tente validá-lo diretamente na prefeitura ou entre em contato com o time de atendimento.\n- `INTERNAL_ERROR`: erro genérico interno. Recomendamos tentar novamente ou entrar em contato com o time de atendimento.\n\nNovos códigos poderão ser adicionados futuramente para representar erros mais específicos.\n\nPara documentos do tipo NFS-e, a resposta de sucesso também incluí os campos adicionais `document_id` e `role`, que indicam, respectivamente, o identificador interno do documento e o papel do cliente (emitente ou destinatário). Com base no valor de `role`, é possível utilizar os endpoints `/v1/nfse/received` ou `/v1/nfse/emitted` para obter o XML ABRASF.","produces":["application/json"],"tags":["OCR"],"summary":"Recupera o status de um documento","x-title":"Status Processo de OCR","operationId":"statusapi-get","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`.","default":"always"},{"type":"string","description":"Message ID é um identificador para o upload. Ele é retornado pela API de Upload.","name":"message_id","in":"query"}],"responses":{"200":{"description":"Requisição bem sucedida.","schema":{"$ref":"#/definitions/HTTPOCRStatusResponse"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/bank-billet":{"get":{"description":"Este endpoint retorna os boletos com notas baseado em uma série de filtros","produces":["application/json"],"tags":["Gestão de Pagamentos - Boletos"],"summary":"Retorna uma pesquisa de boleto com notas","x-title":"Boletos Bancários","operationId":"search-bank-billet","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"name":"owners[]","in":"query","description":"Array contendo os CPFs ou CNPJs para pesquisa","required":true,"schema":{"type":"array","items":{"type":"string","example":"19427033000140"}}},{"name":"issue_date[from]","in":"query","description":"Data inicial do intervalo para issue_date","required":false,"schema":{"type":"string","format":"date","example":"2023-01-01"}},{"name":"issue_date[to]","in":"query","description":"Data final do intervalo para issue_date","required":false,"schema":{"type":"string","format":"date","example":"2023-12-31"}},{"name":"due_date[from]","in":"query","description":"Data inicial do intervalo para due_date","required":false,"schema":{"type":"string","format":"date","example":"2023-12-31"}},{"name":"due_date[to]","in":"query","description":"Data final do intervalo para due_date","required":false,"schema":{"type":"string","format":"date","example":"2023-12-31"}},{"name":"document_identifier","in":"query","description":"Identificador do documento a ser pesquisado","required":false,"schema":{"type":"string","example":"03397060000000000000450000012345678909876543"}},{"name":"status","in":"query","description":"Status do boleto a ser pesquisado","required":false,"schema":{"type":"string","enum":["open","overdue","paid","canceled","closed"],"example":"open"}},{"name":"trust_level","in":"query","description":"Nível de confiança dos boletos","required":false,"schema":{"type":"string","enum":["high","medium","low"],"example":"high"}},{"name":"linked_document_type","in":"query","description":"Tipos de documentos anexados a serem procurados: nfse ou nfe","required":false,"schema":{"type":"array","items":{"type":"string","enum":["nfse","nfe"],"example":"nfse"}}},{"name":"updated_at[from]","in":"query","description":"Data inicial do intervalo para updated_at","required":false,"schema":{"type":"string","format":"date","example":"2023-12-31"}},{"name":"updated_at[to]","in":"query","description":"Data final do intervalo para updated_at","required":false,"schema":{"type":"string","format":"date","example":"2023-12-31"}},{"name":"page","in":"query","description":"Página atual da paginação de resultados","required":false,"schema":{"type":"string","example":"1"}},{"name":"limit","in":"query","description":"Limites de itens para a paginação","required":false,"schema":{"type":"string","example":"10"}}],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"$ref":"#/definitions/BankBilletsResponseV1"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/BankBilletsResponseErrorV1"}}}}},"/v2/bank-billet/search":{"post":{"description":"Este endpoint retorna os boletos com notas baseado em uma série de filtros","summary":"Retorna uma pesquisa de boleto com notas","x-title":"Boletos Bancários v2","operationId":"getBankBilletsByCursor","produces":["application/json"],"tags":["Gestão de Pagamentos - Boletos"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"body","name":"Body","required":true,"description":"Estrutura de parâmetros utilizada no corpo da requisição para buscar boletos. Permite aplicar filtros por proprietário (CPF/CNPJ), intervalo de emissão, vencimento ou atualização, status, nível de confiança, documentos vinculados e controlar paginação através de limit e next.","schema":{"type":"object","properties":{"owners":{"type":"array","description":"Array contendo os CPFs ou CNPJs para pesquisa","items":{"type":"string","example":"19427033000140"}},"issue_date":{"type":"object","description":"Intervalo de datas de emissão do boleto","properties":{"from":{"type":"string","format":"date","example":"2023-01-01"},"to":{"type":"string","format":"date","example":"2023-12-31"}}},"due_date":{"type":"object","description":"Intervalo de datas de vencimento do boleto","properties":{"from":{"type":"string","format":"date","example":"2023-01-01"},"to":{"type":"string","format":"date","example":"2023-12-31"}}},"updated_at":{"type":"object","description":"Intervalo de datas de atualização do boleto","properties":{"from":{"type":"string","format":"date","example":"2023-01-01"},"to":{"type":"string","format":"date","example":"2023-12-31"}}},"document_identifier":{"type":"string","description":"Identificador único do boleto/documento","example":"03397060000000000000450000012345678909876543"},"status":{"type":"string","description":"Status do boleto","enum":["open","overdue","paid","canceled","closed","blocked"],"example":"open"},"trust_level":{"type":"string","description":"Nível de confiança dos boletos","enum":["high","medium","low"],"example":"high"},"linked_document_type":{"type":"array","description":"Tipos de documentos anexados a serem procurados","items":{"type":"string","enum":["nfse","nfe"]},"example":["nfse","nfe"]},"limit":{"type":"integer","description":"Número máximo de itens por página","example":10},"next":{"type":"string","description":"Cursor retornado na requisição anterior (caso exista)","example":"eyJjdXJzb3IiOiIxMjM0NTYifQ=="}}}}],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"$ref":"#/definitions/BankBilletsResponseV2"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/BankBilletsResponseErrorV2"}}}}},"/v1/bank-billet/{owner}/{digitableLine}/pdf":{"get":{"description":"Este endpoint busca o PDF de um boleto de acordo com o owner (CNPJ pagador do boleto) e a linha digitável.\nA resposta é um objeto json contendo o PDF encoded em base64.","operationId":"getBankBilletsPdf","x-title":"Boleto Bancário - PDF","summary":"Busca PDF de um Boleto Bancário, a partir do owner e digitableLine","produces":["application/json"],"tags":["Gestão de Pagamentos - Boletos"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"name":"owner","in":"path","description":"CPF ou CNPJ pagador do boleto.","type":"string","example":"19427033000140","required":true},{"name":"digitableLine","in":"path","description":"Linha digitável do boleto a ser pesquisado.","type":"string","example":"03397060000000000000450000012345678909876543","required":true}],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"type":"object","properties":{"data":{"type":"object","properties":{"digitable_line":{"description":"Linha digitável do boleto a ser pesquisado","type":"string"},"owner":{"description":"CNPJ pagador do boleto.","type":"string"},"encoded_pdf":{"description":"PDF do boleto com notas encodado em base64.","type":"string"}}}}}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/BankBilletsResponseErrorV1"}}}}},"/v1/account/tags/list":{"post":{"description":"Endpoint responsável por buscar uma lista de etiquetas para uma determinada conta.\nA resposta é um objeto json contendo os dados das etiquetas buscadas.","summary":"Lista todas as etiquetas disponíveis para a sua conta","x-title":"Lista Etiquetas da Conta","operationId":"postTagAccountlist","produces":["application/json"],"tags":["Etiquetas"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"body","name":"Body","type":"object","required":true,"description":"A API busca as etiquetas da conta através dos seguintes filtros:\n  - `IsLane` - campo obrigatório, é um booleano informando se a etiqueta pertence ao NFe em Etapas ou não.\n  - `SearchTerm` - representa o termo utilizado para buscar pelo nome ou parte do nome de uma etiqueta.\n  - `TagsIds` -  array contendo os ids das etiquetas a serem buscadas.\nO endpoint retorna até 1000 etiquetas contendo suas respectivas informações.\nUtilize os filtros SearchTerm e TagsIds para obter resultados mais precisos.","schema":{"type":"object","required":["IsLane"],"properties":{"IsLane":{"description":"IsLane é um booleano informando se a etiqueta pertence ao NFe em Etapas ou não. Por padrão esse campo é passado como false.","type":"boolean","example":true},"SearchTerm":{"description":"SearchTerm é o termo utilizado para buscar pelo nome ou parte do nome de uma etiqueta","type":"string","example":"Revenda"},"TagsIds":{"description":"TagsIds é um array contendo os ids das etiquetas a serem buscadas.","type":"array","items":{"type":"integer","format":"int64"},"example":[1,2]}}}}],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"$ref":"#/definitions/HTTPAccountListResponseV1"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/HTTPTagResponseErrorV1"}}}}},"/v1/dfe/tags/list":{"post":{"description":"Endpoint responsável por buscar uma lista de etiquetas para um determinado documento\na partir da seu identificador único.\nA resposta é um objeto json contendo o identificador do documento e as etiquetas\nvinculadas a esse documento.","summary":"Lista as etiquetas aplicadas em um documento","x-title":"Lista Etiquetas de um DFe","produces":["application/json"],"tags":["Etiquetas"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"body","name":"Body","type":"object","required":true,"description":"A API lista as etiquetas de um DFe através dos seguintes filtros:\n- `DocumentType` - Tipo do documento (nfe, nfse ou cte). Este campo deve indicar o tipo de documento que as etiquetas devem ser aplicadas ou removidas.\n- `Identifiers` - Identificador único do documento:\n  - No caso de nfe e cte é a chave de acesso.\n  - Para nfe, é a concatenação do CNPJ emissor, com data da emissão (Y-m-d) e número da nota no formato cnpj:data-de-emissão:número\n  - **Exemplo:** 19427033000140:2025-01-21:123456789.\n- `Owners` - Array contendo o CPF e/ou CNPJ do 'dono' do documento.","schema":{"type":"object","required":["DocumentType","Owners","Identifiers"],"properties":{"DocumentType":{"description":"Tipo do documento (nfe, nfse ou cte). Este campo deve indicar o tipo de documento que as etiquetas devem ser aplicadas ou removidas.","type":"string","example":"nfse"},"Identifiers":{"description":"Identifiers são os identificadores únicos do documento.\nNo caso de nfe e cte, é a chave de acesso.\nPara nfse, é a concatenação do CNPJ emissor, com data da emissão (Y-m-d) e número da nota no formato cnpj:data-de-emissão:número.\nExemplo: 19427033000140:2025-01-21:123456789","type":"array","items":{"type":"string","format":"string"},"example":["19427033000140:2025-01-21:123456789"]},"Owners":{"description":"Owners é um array contendo o CPF e/ou CNPJ do 'dono' do documento.","type":"array","items":{"type":"string","format":"string"},"example":["19427033000140"]}}}}],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"$ref":"#/definitions/HTTPTagsDfeListResponseV1"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/HTTPTagResponseErrorV1"}}}}},"/v1/dfe/tags/update":{"post":{"description":"Endpoint responsável por aplicar ou remover etiquetas de um documento fiscal.\nA resposta é um objeto json informando o status e a mensagem da requisição.","summary":"Atualiza as etiquetas de um documento, podendo adicionar/remover","x-title":"Altera Etiquetas de um DFe","produces":["application/json"],"tags":["Etiquetas"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"body","name":"Body","type":"object","required":true,"description":"A API atualiza as etiquetas de um DFe através dos seguintes filtros:\n- `DocumentType` - Tipo do documento (nfe, nfse ou cte). Este campo deve indicar o tipo de documento que as etiquetas devem ser aplicadas ou removidas.\n- `Identifiers` - Identificador único do documento:\n  - No caso de nfe e cte é a chave de acesso.\n  - Para nfse, é a concatenação do CNPJ emissor, com data da emissão (Y-m-d) e número da nota no formato cnpj:data-de-emissão:número\n  - **Exemplo:** 19427033000140:2025-01-21:123456789.\n- `Owners` - Array contendo o CPF e/ou CNPJ do 'dono' do documento.\n- `Tags` - objeto com a lista de etiquetas a serem aplicadas ou removidas pela operação.\n**Observação**: Pelo menos uma das listas deve estar preenchida na requisição.\n  - `apply` - Aplica etiquetas à um ou mais DFe.\n  - `remove` - remove etiquetas de um DFe.","schema":{"type":"object","required":["DocumentType","Owners","Identifiers","Tags"],"properties":{"DocumentType":{"description":"Tipo do documento (nfe, nfse ou cte). Este campo deve indicar o tipo de documento que as etiquetas devem ser aplicadas ou removidas.","type":"string","example":"nfe"},"Identifiers":{"description":"Identifiers são os identificadores únicos do documento.\nNo caso de NFE e CTE, é a chave de acesso.\nPara NFSE, é a concatenação do CNPJ emissor, com data da emissão (Y-m-d) e número da nota no formato cnpj:data-de-emissão:número.\nExemplo: 19427033000140:2025-01-21:123456789","type":"array","items":{"type":"string","format":"string"},"example":["19427033000140:2025-01-21:123456789"]},"Owners":{"description":"Owners é um array contendo o CPF e/ou CNPJ do 'dono' do documento.","type":"array","items":{"type":"string","format":"string"},"example":["19427033000140"]},"Tags":{"description":"Tags é um objeto com a lista de etiquetas a serem aplicadas ou removidas pela operação.\nObservação: Pelo menos uma das listas deve estar preenchida na requisição.","type":"object","properties":{"Apply":{"description":"Apply é uma lista de ids de etiquetas a serem aplicadas dos documentos.\ntype: array\nitems:\ntype: integer","type":"array","items":{"type":"integer","format":"int64"},"example":[1,2]},"Remove":{"description":"Remove é uma lista de ids de etiquetas a serem removidas dos documentos.\ntype: array\nitems:\ntype: integer","type":"array","items":{"type":"integer","format":"int64"},"example":[1,2]}}}}}}],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"$ref":"#/definitions/HTTPTagsUpdateResponseV1"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/HTTPTagResponseErrorV1"}}}}},"/v1/certificate/upload":{"post":{"description":"Este endpoint permite enviar um certificado digital para associá-lo a um ou mais documentos (CPF ou CNPJ) cadastrados na conta.\nRetorna os dados originais do certificado e a lista de documentos que tiveram o upload realizado com sucesso.","summary":"Envio de certificado digital","x-title":"Upload de Certificado Digital","produces":["application/json"],"tags":["Empresas"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"body","name":"Body","required":true,"description":"A API permite enviar um certificado digital para associá-lo a um ou mais documentos (CPF ou CNPJ) cadastrados na conta. A requisição recebe os seguintes dados:\n - `Certificate`- objeto com as informações do certificado digital a ser enviado, contendo:\n   - `File` - Arquivo do certificado digital encodado em base64.\n   - `Filename` - Nome do arquivo do certificado digital.\n   - `Password` - Senha do certificado digital.\n - `Owners` - Array contendo o CPF e/ou CNPJ do proprietário do certificado digital.","schema":{"type":"object","required":["Certificate","Owners"],"properties":{"Certificate":{"description":"Certificate contém as informações do certificado digital a ser enviado.","type":"object","required":["File","Filename","Password"],"properties":{"File":{"description":"File é o arquivo do certificado digital encodado em base64.","type":"string","example":"base64_encoded_certificate_file"},"Filename":{"description":"Filename é o nome do arquivo do certificado digital.","type":"string","example":"certificate.pfx"},"Password":{"description":"Password é a senha do certificado digital.","type":"string","example":"password123"}}},"Owners":{"description":"owners é um array contendo o CPF ou CNPJ do proprietário do certificado digital.\ntype: array\nitems:\ntype: string","type":"array","items":{"type":"string","format":"string"},"example":["19427033000140"]}}}}],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"$ref":"#/definitions/HTTPCertificateUploadResponseV1"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/HTTPCertificateResponseErrorV1"}}}}},"/v1/latam/upload":{"post":{"description":"Disponível apenas em ambiente de produção.\n\nEste endpoint realiza o upload de arquivos XML para o processo de padronização e armazenamento de documentos LATAM, utilizado na automação do processo de inbound de documentos.\n\nO fluxo suporta o recebimento de XMLs de diferentes países, realizando a conversão para o formato unificado QIVE LATAM.\n\nAtualmente, são aceitos documentos dos seguintes países:\n- México\n- Chile\n- Peru\n- Colômbia\n\nEm caso de sucesso no upload, o documento poderá ser consultado posteriormente através do endpoint `/v1/latam/search`.","produces":["application/json"],"tags":["LATAM"],"summary":"Recebe XMLs de documentos LATAM.","x-title":"Upload de Docs LATAM","operationId":"upload-latam-xml","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"name":"Body","in":"body","required":true,"description":"Corpo da requisição. Deve conter o arquivo XML em Base64 no campo xml","schema":{"type":"object","required":["xml"],"properties":{"xml":{"description":"É o XML encodado em base64","type":"string","x-go-name":"XML","example":"base64 string"}}}}],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"$ref":"#/definitions/LATAMUploadHTTPResponseV1"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/latam/search":{"get":{"description":"Disponível somente em ambiente de produção.\n\nEste endpoint permite a busca por documentos do tipo LATAM que tenham sido previamente enviados pelo endpoint `/v1/latam/upload`.\n\n O retorno deste endpoint é uma lista de documentos em formato unificado em padrão QIVE LATAM.\n\nSempre que houver uma nova página disponível dentro do filtro realizado, o parâmetro `page.next` estará presente no JSON de retorno. Ao atingir a última página, este parâmetro deixará de ser retornado, indicando que todas as páginas disponíveis foram consultadas.\n\nPara habilitar esse recurso, entre em contato com o gerente da sua conta ou com nosso time de atendimento.","produces":["application/json"],"tags":["LATAM"],"summary":"Busca por documentos LATAM","x-title":"Busca de Docs LATAM","operationId":"search-latam","parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`.","default":"always"},{"type":"string","format":"date-time","description":"Data inicial para o filtro de busca. Esta data se refere à data em que o documento foi ingerido ou atualizado na Qive. Utilize o formato: `2025-01-23T00:00:00Z` ou `2025-01-23T00:00:00.000Z`.","name":"initial_date","in":"query","required":true},{"type":"string","format":"date-time","description":"Data final para o filtro de busca. Esta data se refere à data em que o documento foi ingerido ou atualizado na Qive. Utilize o formato: `2025-01-23T00:00:00Z` ou `2025-01-23T00:00:00.000Z`.","name":"final_date","in":"query","required":true},{"minimum":1,"type":"integer","format":"int64","description":"Página que deve ser buscada pela API. Cada página retorna um total de até 25 documentos.","name":"page","in":"query","required":true}],"responses":{"200":{"description":"Successful fetch","schema":{"$ref":"#/definitions/SearchLATAMHTTPResponseV1"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}}}},"/v1/latam/{id}":{"get":{"description":"Essa API recebe id de um documento LATAM e retorna o Document encontrado.","operationId":"get-latam","x-title":"Retorna Doc LATAM por id","parameters":[{"name":"X-API-ID","in":"header","required":true,"type":"string","description":"API ID usado para autenticação."},{"name":"X-API-KEY","in":"header","required":true,"type":"string","description":"API KEY usado para autenticação."},{"name":"id","description":"DocumentID é o identificador do documento que será buscado na base de dados.","in":"path","required":true,"type":"string","x-go-name":"DocumentID"}],"produces":["application/json"],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"$ref":"#/definitions/GetLATAMHTTPResponseV1"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}},"summary":"Busca dados de um documento LATAM por ID","tags":["LATAM"]}},"/v1/latam/{id}/xml":{"get":{"description":"Essa API recebe owner e id de um documento latam e retorna o XML em base64.\nQuando não há xml associado ao documento, retorna uma string vazia no campo de xml.","operationId":"get-latam-xml","x-title":"Retorna XML de Doc LATAM","parameters":[{"name":"X-API-ID","in":"header","required":true,"type":"string","description":"API ID usado para autenticação."},{"name":"X-API-KEY","in":"header","required":true,"type":"string","description":"API KEY usado para autenticação."},{"name":"id","description":"DocumentID é o identificador do XML que será buscado na base de dados.","in":"path","required":true,"type":"string","x-go-name":"DocumentID"}],"produces":["application/json"],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"$ref":"#/definitions/GetLATAMXMLHTTPResponseV1"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}},"summary":"Busca XML em base64 de um document latam por ID","tags":["LATAM"]}},"/v1/latam/{id}/cancel":{"post":{"operationId":"cancel-latam-xml","x-title":"Cancelamento de Doc LATAM","parameters":[{"name":"X-API-ID","in":"header","required":true,"type":"string","description":"API ID usado para autenticação."},{"name":"X-API-KEY","in":"header","required":true,"type":"string","description":"API KEY usado para autenticação."},{"name":"id","description":"DocumentID é o identificador do documento que terá o status marcado como cancelado.","in":"path","required":true,"type":"string","x-go-name":"DocumentID"}],"produces":["application/json"],"responses":{"200":{"description":"Requisição bem sucedida","schema":{"$ref":"#/definitions/LATAMCancelHTTPResponseV1"}},"default":{"description":"Falha na requisição","schema":{"$ref":"#/definitions/HTTPResponseErrorV1"}}},"summary":"Recebe XMLs de documentos LATAM.","tags":["LATAM"]}},"/v1/cnpj":{"get":{"description":"Retorna os dados públicos de uma lista de CNPJs.","x-title":"Dados Públicos de CNPJs","operationId":"findCnpj","parameters":[{"collectionFormat":"multi","description":"CNPJs é um array com os CNPJs das empresas a serem consultadas. ex: `/v1/cnpj?cnpj=19427033000140&cnpj=03160081000185`","example":["03160081000185","19427033000140"],"in":"query","items":{"type":"string"},"maxItems":100,"minItems":1,"name":"cnpj","required":true,"type":"array","uniqueItems":true},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."}],"produces":["application/json"],"responses":{"200":{"description":"Dados dos CNPJs solicitados.","schema":{"$ref":"#/definitions/CnpjFindHttpResponse"}},"400":{"description":"Requisição mal formada.","schema":{"$ref":"#/definitions/CnpjDefaultErrorResponse"}},"404":{"description":"CNPJs não encontrados","schema":{"$ref":"#/definitions/CnpjDefaultErrorResponse"}},"500":{"description":"Erro interno.","schema":{"$ref":"#/definitions/CnpjDefaultErrorResponse"}}},"summary":"Retorna os dados de várias empresas na Receita Federal do Brasil.","tags":["Dados - CNPJs"]}},"/v1/cnpj/{CNPJ}":{"get":{"description":"Retorna os dados públicos de um CNPJ.","x-title":"Dados Públicos de um CNPJ","operationId":"getCnpj","parameters":[{"description":"CNPJ é o Cadastro Nacional da Pessoa Jurídica, um identificador único para empresas no Brasil.","example":"19427033000140","in":"path","name":"CNPJ","required":true,"type":"string"},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."}],"produces":["application/json"],"responses":{"200":{"description":"Dados do CNPJ solicitado","schema":{"$ref":"#/definitions/CnpjGetHttpResponse"}},"400":{"description":"Requisição mal formada.","schema":{"$ref":"#/definitions/CnpjDefaultErrorResponse"}},"404":{"description":"CNPJ não encontrado.","schema":{"$ref":"#/definitions/CnpjDefaultErrorResponse"}},"500":{"description":"Erro interno","schema":{"$ref":"#/definitions/CnpjDefaultErrorResponse"}}},"summary":"Retorna os dados de uma empresa na Receita Federal do Brasil.","tags":["Dados - CNPJs"]}},"/v1/dfe/nfe/events":{"post":{"tags":["NFe"],"summary":"Realiza os novos eventos da RTC","x-title":"Eventos RTC","description":"Endpoint para registro de eventos da reforma tributária relacionados ao documento NF-e, conforme NT 2025.002.","operationId":"post_nfe_event_apigateway","produces":["application/json"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`.","default":"always"},{"in":"body","name":"body","required":true,"description":"Dados do evento. A estrutura é dinâmica e **obrigatoriamente** ditada pelo valor enviado em `tp_evento`. \n\nConsulte as definições abaixo na seção de **Models** para montar o payload correto:\n* Para `211110`: Utilize a estrutura de **det_evento_211110** (Apropriação de crédito presumido)\n* Para `211124`: Utilize a estrutura de **det_evento_211124** (Perecimento/Perda/Roubo)\n* etc...","schema":{"$ref":"#/definitions/nfe_event_request"}}],"responses":{"200":{"description":"Evento registrado e processado com sucesso.","schema":{"$ref":"#/definitions/nfe_event_response"}},"400":{"description":"Requisição inválida (dados faltando ou incorretos).","schema":{"type":"object","properties":{"status":{"$ref":"#/definitions/Status"},"error":{"type":"string"}}}},"401":{"description":"Não autorizado (headers de autenticação ausentes/ inválidos)."}}}},"/v1/event/batch":{"post":{"tags":["Eventos em Lote"],"summary":"Submete eventos em lote para processamento","x-title":"Submete eventos em lote para processamento","description":"Este endpoint realiza a recepção de lotes de eventos para processamento assíncrono.\nO processamento é feito de forma assíncrona e o status pode ser consultado pelo endpoint GET /v1/event/batch/{id}.\nSuporta eventos de CT-e, CT-e OS e NF-e, identificados automaticamente pela posição 20-22 da chave de acesso (`57`=CT-e, `67`=CT-e OS, `55`=NF-e). Para NF-e, o Número Sequencial do Evento (`n_seq_evento`) é obtido automaticamente do SOT durante a ingestão — não deve (nem pode) ser informado na requisição.\nTodos os itens de um mesmo lote devem ser do mesmo tipo de documento (não é possível misturar CT-e, CT-e OS e NF-e no mesmo lote) — um lote misto é rejeitado durante a ingestão e permanece com status `pending` (não é retornado nenhum erro por este endpoint nem pelo GET, já que a validação ocorre de forma assíncrona).","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`.","default":"always"},{"in":"header","name":"X-Flow-Identifier","required":false,"type":"string","description":"Identificador de fluxo para rastreamento."},{"in":"body","name":"body","required":true,"description":"Dados do lote de eventos a ser processado.","schema":{"$ref":"#/definitions/EventBatchRequest"}}],"responses":{"200":{"description":"Lote de eventos submetido com sucesso.","schema":{"$ref":"#/definitions/EventBatchProcessResponse"}},"400":{"description":"Requisição inválida.","schema":{"$ref":"#/definitions/EventBatchErrorResponse"}},"401":{"description":"Não autorizado.","schema":{"$ref":"#/definitions/EventBatchErrorResponse"}},"500":{"description":"Erro interno.","schema":{"$ref":"#/definitions/EventBatchErrorResponse"}}}}},"/v1/event/batch/{id}":{"get":{"tags":["Eventos em Lote"],"summary":"Consulta o status de um lote de eventos","x-title":"Consulta o status de um lote de eventos","description":"Este endpoint retorna o status atual de um lote de eventos previamente submetido, incluindo o progresso do processamento e o resultado de cada item.","produces":["application/json"],"parameters":[{"in":"header","name":"X-API-ID","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-API-KEY","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`.","default":"always"},{"in":"path","name":"id","required":true,"type":"string","format":"uuid","description":"Identificador único do lote de eventos (UUID). Exemplo: 3463ed52-f2ac-4eb0-8efa-47323a51dbdc"}],"responses":{"200":{"description":"Status do lote de eventos retornado com sucesso.","schema":{"$ref":"#/definitions/EventBatchStatusResponse"}},"400":{"description":"Requisição inválida.","schema":{"$ref":"#/definitions/EventBatchErrorResponse"}},"401":{"description":"Não autorizado.","schema":{"$ref":"#/definitions/EventBatchErrorResponse"}},"404":{"description":"Lote de eventos não encontrado.","schema":{"$ref":"#/definitions/EventBatchErrorResponse"}},"500":{"description":"Erro interno.","schema":{"$ref":"#/definitions/EventBatchErrorResponse"}}}}},"/v1/receipts/list":{"post":{"x-title":"Busca de Comprovantes","summary":"Lista os comprovantes de pagamento da conta com base nos filtros aplicados","description":"Este endpoint permite buscar os comprovantes de pagamento da conta, retornando os dados conforme a projeção solicitada em `Fields`, com filtros por identificador, data de pagamento, documento do recebedor e faixa de valor.\n\nO mesmo endpoint entrega o PDF do comprovante: basta incluir `EncodedPdf` em `Fields`. Nesse caso `Filters.Identifier` passa a ser obrigatório e a quantidade de identificadores por requisição é limitada (2 em produção).\n\n**A caixa das chaves é exigida.** `identifier`, `IDENTIFIER` ou `limit` retornam `400` apontando a grafia correta, e o mesmo vale para os valores de `Fields`. Campo desconhecido retorna `400`, nunca é descartado em silêncio.\n\nOs comprovantes retornados são sempre restritos aos CNPJs/CPFs autorizados para as credenciais utilizadas. Comprovante fora desse escopo é indistinguível de comprovante inexistente: retorna `404`, nunca `403`.\n\nO corpo da requisição é limitado a 1 MiB, e o tempo máximo de resposta é de 60 segundos.","operationId":"HTTPReceiptListRequestV1","consumes":["application/json"],"produces":["application/json"],"tags":["Gestão de Pagamentos - Comprovantes"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"name":"Body","in":"body","description":"Corpo opcional: `{}` lista com os campos e o limite padrão. Chave fora deste schema — inclusive com a caixa errada — retorna `400`.\n\n### Filtros (`Filters`):\n\n- **`Identifier`** (Array) – Lista de identificadores opacos devolvidos em uma listagem anterior. É sempre uma lista, mesmo para um único comprovante. Obrigatório quando `EncodedPdf` estiver em `Fields`. Atenção: combinar este filtro com outro pode retornar `404` em vez de lista vazia.\n- **`PaymentDate`** (Objeto com `From` e `To`) – Intervalo inclusivo de data de pagamento, no formato `YYYY-MM-DD`.\n- **`ReceiverDocument`** (Array) – CPFs/CNPJs do recebedor. A pontuação é normalizada. Cada documento é validado com dígito verificador: um valor inválido retorna `400`, em vez de simplesmente não casar nada.\n- **`Amount`** (Objeto com `From` e `To`) – Intervalo inclusivo de valor pago.\n\n### Fields (campos retornados):\n\n- **`Fields`** (Array) – Lista de campos a serem retornados: `Identifier`, `Source`, `PaymentDate`, `Amount`, `CurrencyCode`, `CodeAuth`, `BankSlipNumber`, `DueDate`, `Payer`, `Receiver`, `EncodedPdf`. Campos não pedidos são omitidos da resposta. Caso `Fields` não seja informado, serão retornados os campos padrão `Identifier`, `Source`, `PaymentDate` e `Amount`.\n\n### Outros parâmetros:\n\n- **`Paginator`** (String) – Cursor opaco devolvido pela página anterior. Vazio ou ausente significa a primeira página. Não é número de página nem offset.\n- **`Limit`** – Tamanho da página. Padrão 50, máximo 500 (acima disso é limitado, não rejeitado). Com `EncodedPdf` em `Fields` e sem `Limit`, assume a quantidade de identificadores pedidos em `Filters.Identifier`.\n\nOs comprovantes são retornados ordenados por `PaymentDate` de forma decrescente, com os registros sem data ao final, desempatados pelo identificador.\n","schema":{"$ref":"#/definitions/HTTPReceiptListRequestBodyV1"}}],"responses":{"200":{"description":"HTTPReceiptListResponseV1 contém a resposta da chamada para a API de listagem de comprovantes.","schema":{"$ref":"#/definitions/HTTPReceiptListResponseBodyV1"}},"400":{"description":"Corpo inválido, chave com a caixa errada, campo desconhecido, tipo errado, filtro de data malformado, documento inválido em `Filters.ReceiverDocument`, `Identifier` ou `Paginator` adulterado, `EncodedPdf` sem `Filters.Identifier`, ou identificadores acima do limite de `EncodedPdf`.","schema":{"$ref":"#/definitions/HTTPReceiptResponseErrorV1"},"examples":{"application/json":{"error":{"code":"BAD_REQUEST","message":"Field \"Filters.identifier\" has the wrong case: use \"Filters.Identifier\"."}}}},"401":{"description":"Credenciais ausentes ou sem nenhum documento autorizado. A mensagem não distingue os casos.","schema":{"$ref":"#/definitions/HTTPReceiptResponseErrorV1"},"examples":{"application/json":{"error":{"code":"UNAUTHORIZED","message":"Unauthorized: no authorized owner for this request."}}}},"403":{"description":"Acesso negado.","schema":{"$ref":"#/definitions/HTTPReceiptResponseErrorV1"},"examples":{"application/json":{"error":{"code":"FORBIDDEN","message":"Access denied."}}}},"404":{"description":"A requisição filtrou por `Filters.Identifier` e nada casou. Três causas produzem esta resposta, e ela não distingue entre elas: comprovante inexistente, comprovante fora dos documentos autorizados, ou comprovante que existe e é autorizado mas foi excluído por outro filtro da mesma requisição. Sem `Filters.Identifier`, um resultado vazio é `200` com `Total: 0`, e não `404`.","schema":{"$ref":"#/definitions/HTTPReceiptResponseErrorV1"},"examples":{"application/json":{"error":{"code":"NOT_FOUND","message":"Receipt not found."}}}},"500":{"description":"Erro interno. A mensagem é sempre a mesma: o motivo real fica no log.","schema":{"$ref":"#/definitions/HTTPReceiptResponseErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"An internal error has occurred. Please try again later."}}}},"502":{"description":"Falha ao obter o PDF do comprovante ou ao gerá-lo sob demanda.","schema":{"$ref":"#/definitions/HTTPReceiptResponseErrorV1"},"examples":{"application/json":{"error":{"code":"BAD_GATEWAY","message":"Could not retrieve the receipt PDF. Please try again later."}}}},"default":{"description":"HTTPReceiptResponseErrorV1 é retornado em caso de erro.","schema":{"$ref":"#/definitions/HTTPReceiptResponseErrorV1"}}}}},"/v1/webhooks/endpoints":{"post":{"x-title":"Cadastra Endpoint","summary":"Cadastra a URL que vai receber as notificações de webhook","description":"Cadastra um endpoint de entrega. Antes de salvar, a Qive verifica a URL:\n\n- só `https`, na porta `443`, resolvendo para um IP público;\n- é feito um `HEAD` na URL com o header `X-Qive-Webhook: Qive-Webhooks/1.0`, com tempo limite de 5 segundos, e a resposta precisa ser `2xx`;\n- redirecionamentos não são seguidos: cadastre o endereço final.\n\n**O `Secret` só é devolvido nesta resposta.** Guarde-o: ele não pode ser consultado depois.\n\nA mesma URL não pode ser cadastrada duas vezes na mesma conta.","operationId":"WebhookEndpointCreateV1","consumes":["application/json"],"produces":["application/json"],"tags":["Webhooks"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"name":"Body","in":"body","required":true,"description":"URL de entrega. Precisa ser `https` na porta `443`.","schema":{"$ref":"#/definitions/WebhookEndpointRequestV1"}}],"responses":{"201":{"description":"Endpoint cadastrado. Única resposta que contém o `Secret`.","schema":{"$ref":"#/definitions/WebhookEndpointCreatedV1"}},"400":{"description":"Requisição inválida (`BODY_VALIDATION_FAILED`, `INVALID_BODY_FORMAT`) ou URL bloqueada pela verificação de segurança (`endpoint_url_blocked`: esquema diferente de `https`, porta diferente de `443` ou IP não público). Headers de autenticação ausentes também retornam `400`, respondidos pelo API Gateway.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_url_blocked","message":"URL bloqueada pelo guard de SSRF","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"401":{"description":"Credenciais inválidas. Respondido pelo API Gateway, no formato `WebhookGatewayErrorV1`.","schema":{"$ref":"#/definitions/WebhookGatewayErrorV1"},"examples":{"application/json":{"error":"Unauthorized. Invalid X-API-KEY or X-API-ID.","status":{"code":401,"message":"Unauthorized"}}}},"409":{"description":"Já existe um endpoint com essa URL na conta (`endpoint_already_exists`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_already_exists","message":"já existe um endpoint cadastrado para essa url","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"422":{"description":"A URL não respondeu `2xx` à verificação (`endpoint_unreachable`). A mensagem traz o status recebido ou o motivo (tempo limite excedido, host não resolvido, certificado TLS inválido, não foi possível conectar, falha de rede, redirect).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_unreachable","message":"URL respondeu 500 na verificação, esperado 2xx","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"500":{"description":"Erro interno. O motivo real fica no log.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}}}},"get":{"x-title":"Lista Endpoints","summary":"Lista os endpoints cadastrados na conta","description":"Lista os endpoints da conta, paginados e ordenados pela data de cadastro. `Total` é a quantidade total de endpoints da conta, não o tamanho da página. Uma página além do fim devolve a lista vazia com `Total` igual a 0.","operationId":"WebhookEndpointListV1","produces":["application/json"],"tags":["Webhooks"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"query","name":"limit","required":false,"type":"integer","minimum":1,"maximum":200,"default":50,"description":"Tamanho da página. Padrão 50, mínimo 1, máximo 200. Valor fora desse intervalo retorna `400`."},{"in":"query","name":"page","required":false,"type":"integer","minimum":1,"default":1,"description":"Número da página, começando em 1. Padrão 1. Valor menor que 1 retorna `400`."}],"responses":{"200":{"description":"Página de endpoints.","schema":{"$ref":"#/definitions/WebhookEndpointListV1"}},"400":{"description":"Requisição inválida (`BODY_VALIDATION_FAILED` ou `INVALID_BODY_FORMAT`, com os campos em `context.validation`). Headers de autenticação ausentes também retornam `400`, respondidos pelo API Gateway.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"BODY_VALIDATION_FAILED","message":"Request validation failed","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"401":{"description":"Credenciais inválidas. Respondido pelo API Gateway, no formato `WebhookGatewayErrorV1`.","schema":{"$ref":"#/definitions/WebhookGatewayErrorV1"},"examples":{"application/json":{"error":"Unauthorized. Invalid X-API-KEY or X-API-ID.","status":{"code":401,"message":"Unauthorized"}}}},"500":{"description":"Erro interno. O motivo real fica no log.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}}}}},"/v1/webhooks/endpoints/{id}":{"get":{"x-title":"Consulta Endpoint","summary":"Consulta um endpoint pelo Id","description":"Devolve o endpoint e o estado de entrega dele. O `Secret` não é devolvido.","operationId":"WebhookEndpointGetV1","produces":["application/json"],"tags":["Webhooks"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"path","name":"id","required":true,"type":"string","format":"uuid","description":"Identificador (UUID) do recurso, devolvido no cadastro.","x-example":"0b9f6e2a-3c41-4d8e-9a57-2f1c6d8e4b10"}],"responses":{"200":{"description":"Endpoint encontrado.","schema":{"$ref":"#/definitions/WebhookEndpointV1"}},"400":{"description":"Requisição inválida (`BODY_VALIDATION_FAILED` ou `INVALID_BODY_FORMAT`, com os campos em `context.validation`). Headers de autenticação ausentes também retornam `400`, respondidos pelo API Gateway.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"BODY_VALIDATION_FAILED","message":"Request validation failed","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"401":{"description":"Credenciais inválidas. Respondido pelo API Gateway, no formato `WebhookGatewayErrorV1`.","schema":{"$ref":"#/definitions/WebhookGatewayErrorV1"},"examples":{"application/json":{"error":"Unauthorized. Invalid X-API-KEY or X-API-ID.","status":{"code":401,"message":"Unauthorized"}}}},"404":{"description":"Endpoint não encontrado nesta conta (`endpoint_not_found`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_not_found","message":"endpoint não encontrado","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"500":{"description":"Erro interno. O motivo real fica no log.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}}}},"patch":{"x-title":"Altera URL do Endpoint","summary":"Troca a URL de um endpoint","description":"Troca a URL do endpoint. A nova URL passa pela mesma verificação do cadastro (`https`, porta `443`, IP público e `HEAD` respondendo `2xx`).\n\nTrocar a URL reativa o endpoint: o `Status` volta para `active` e `ConsecutiveFailures` volta para 0. O `Secret` não muda.","operationId":"WebhookEndpointPatchV1","consumes":["application/json"],"produces":["application/json"],"tags":["Webhooks"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"path","name":"id","required":true,"type":"string","format":"uuid","description":"Identificador (UUID) do recurso, devolvido no cadastro.","x-example":"0b9f6e2a-3c41-4d8e-9a57-2f1c6d8e4b10"},{"name":"Body","in":"body","required":true,"description":"Nova URL de entrega.","schema":{"$ref":"#/definitions/WebhookEndpointRequestV1"}}],"responses":{"204":{"description":"URL alterada."},"400":{"description":"Requisição inválida (`BODY_VALIDATION_FAILED`, `INVALID_BODY_FORMAT`) ou URL bloqueada pela verificação de segurança (`endpoint_url_blocked`). Headers de autenticação ausentes também retornam `400`, respondidos pelo API Gateway.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_url_blocked","message":"URL bloqueada pelo guard de SSRF","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"401":{"description":"Credenciais inválidas. Respondido pelo API Gateway, no formato `WebhookGatewayErrorV1`.","schema":{"$ref":"#/definitions/WebhookGatewayErrorV1"},"examples":{"application/json":{"error":"Unauthorized. Invalid X-API-KEY or X-API-ID.","status":{"code":401,"message":"Unauthorized"}}}},"404":{"description":"Endpoint não encontrado nesta conta (`endpoint_not_found`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_not_found","message":"endpoint não encontrado","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"409":{"description":"Já existe outro endpoint com essa URL na conta (`endpoint_already_exists`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_already_exists","message":"já existe um endpoint cadastrado para essa url","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"422":{"description":"A nova URL não respondeu `2xx` à verificação (`endpoint_unreachable`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_unreachable","message":"não foi possível verificar a URL: tempo limite excedido","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"500":{"description":"Erro interno. O motivo real fica no log.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}}}},"delete":{"x-title":"Remove Endpoint","summary":"Remove um endpoint","description":"Remove o endpoint. Se ainda houver subscriptions ligadas a ele, a remoção é recusada com `409`: apague as subscriptions antes.","operationId":"WebhookEndpointDeleteV1","produces":["application/json"],"tags":["Webhooks"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"path","name":"id","required":true,"type":"string","format":"uuid","description":"Identificador (UUID) do recurso, devolvido no cadastro.","x-example":"0b9f6e2a-3c41-4d8e-9a57-2f1c6d8e4b10"}],"responses":{"204":{"description":"Endpoint removido."},"400":{"description":"Requisição inválida (`BODY_VALIDATION_FAILED` ou `INVALID_BODY_FORMAT`, com os campos em `context.validation`). Headers de autenticação ausentes também retornam `400`, respondidos pelo API Gateway.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"BODY_VALIDATION_FAILED","message":"Request validation failed","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"401":{"description":"Credenciais inválidas. Respondido pelo API Gateway, no formato `WebhookGatewayErrorV1`.","schema":{"$ref":"#/definitions/WebhookGatewayErrorV1"},"examples":{"application/json":{"error":"Unauthorized. Invalid X-API-KEY or X-API-ID.","status":{"code":401,"message":"Unauthorized"}}}},"404":{"description":"Endpoint não encontrado nesta conta (`endpoint_not_found`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_not_found","message":"endpoint não encontrado","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"409":{"description":"O endpoint ainda tem subscriptions (`endpoint_has_subscriptions`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_has_subscriptions","message":"apague as subscriptions deste endpoint antes","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"500":{"description":"Erro interno. O motivo real fica no log.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}}}}},"/v1/webhooks/endpoints/{id}/reactivate":{"post":{"x-title":"Reativa Endpoint","summary":"Reativa um endpoint marcado como unreachable","description":"Depois de 20 falhas de entrega consecutivas, o endpoint passa para `unreachable` e deixa de receber notificações. Use este endpoint depois de corrigir o problema no seu sistema: o `Status` volta para `active` e `ConsecutiveFailures` volta para 0.\n\nSó funciona para endpoints em `unreachable`. Se a URL mudou, use `PATCH /v1/webhooks/endpoints/{id}`, que também reativa.","operationId":"WebhookEndpointReactivateV1","produces":["application/json"],"tags":["Webhooks"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"path","name":"id","required":true,"type":"string","format":"uuid","description":"Identificador (UUID) do recurso, devolvido no cadastro.","x-example":"0b9f6e2a-3c41-4d8e-9a57-2f1c6d8e4b10"}],"responses":{"204":{"description":"Endpoint reativado."},"400":{"description":"Requisição inválida (`BODY_VALIDATION_FAILED` ou `INVALID_BODY_FORMAT`, com os campos em `context.validation`). Headers de autenticação ausentes também retornam `400`, respondidos pelo API Gateway.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"BODY_VALIDATION_FAILED","message":"Request validation failed","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"401":{"description":"Credenciais inválidas. Respondido pelo API Gateway, no formato `WebhookGatewayErrorV1`.","schema":{"$ref":"#/definitions/WebhookGatewayErrorV1"},"examples":{"application/json":{"error":"Unauthorized. Invalid X-API-KEY or X-API-ID.","status":{"code":401,"message":"Unauthorized"}}}},"404":{"description":"Endpoint não encontrado nesta conta ou não está em `unreachable` (`endpoint_not_found`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_not_found","message":"endpoint não encontrado ou não está em unreachable","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"500":{"description":"Erro interno. O motivo real fica no log.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}}}}},"/v1/webhooks/subscriptions":{"post":{"x-title":"Cria Subscription","summary":"Liga um endpoint a um CNPJ/CPF, tipo de documento e evento","description":"Cria uma subscription: os documentos do `Owner` informado, do tipo `DocumentType`, passam a gerar notificações do evento `EventType` no endpoint `EndpointId`.\n\n- `Owner` precisa estar entre os CNPJs/CPFs autorizados para as credenciais utilizadas; caso contrário, retorna `403`.\n- Os valores aceitos de `DocumentType` e `EventType` estão em `GET /v1/webhooks/metadata`.\n- Só existe uma subscription por combinação de `Owner`, `DocumentType` e `EventType` na conta, independentemente do endpoint.","operationId":"WebhookSubscriptionCreateV1","consumes":["application/json"],"produces":["application/json"],"tags":["Webhooks"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"name":"Body","in":"body","required":true,"description":"Dados da subscription.","schema":{"$ref":"#/definitions/WebhookSubscriptionRequestV1"}}],"responses":{"201":{"description":"Subscription criada.","schema":{"$ref":"#/definitions/WebhookSubscriptionV1"}},"400":{"description":"Requisição inválida (`BODY_VALIDATION_FAILED`, `INVALID_BODY_FORMAT`): `Owner` fora do formato de CNPJ/CPF, `DocumentType` ou `EventType` não aceitos, ou `EndpointId` que não é UUID. Headers de autenticação ausentes também retornam `400`, respondidos pelo API Gateway.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"BODY_VALIDATION_FAILED","message":"document_type inválido: aceita nfe","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"401":{"description":"Credenciais inválidas. Respondido pelo API Gateway, no formato `WebhookGatewayErrorV1`.","schema":{"$ref":"#/definitions/WebhookGatewayErrorV1"},"examples":{"application/json":{"error":"Unauthorized. Invalid X-API-KEY or X-API-ID.","status":{"code":401,"message":"Unauthorized"}}}},"403":{"description":"O `Owner` não está entre os CNPJs/CPFs autorizados para as credenciais utilizadas (`owner_not_authorized`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"owner_not_authorized","message":"owner fora da lista autorizada para esta api-key","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"404":{"description":"Endpoint informado em `EndpointId` não encontrado nesta conta (`endpoint_not_found`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"endpoint_not_found","message":"endpoint não encontrado","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"409":{"description":"Já existe uma subscription para esse `Owner`, `DocumentType` e `EventType` (`subscription_already_exists`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"subscription_already_exists","message":"subscription já existe para esse owner/tipo","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"500":{"description":"Erro interno. O motivo real fica no log.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}}}},"get":{"x-title":"Lista Subscriptions","summary":"Lista as subscriptions da conta","description":"Lista as subscriptions da conta, paginadas e ordenadas pela data de criação. `Total` é a quantidade total de subscriptions da conta, não o tamanho da página.","operationId":"WebhookSubscriptionListV1","produces":["application/json"],"tags":["Webhooks"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"query","name":"limit","required":false,"type":"integer","minimum":1,"maximum":200,"default":50,"description":"Tamanho da página. Padrão 50, mínimo 1, máximo 200. Valor fora desse intervalo retorna `400`."},{"in":"query","name":"page","required":false,"type":"integer","minimum":1,"default":1,"description":"Número da página, começando em 1. Padrão 1. Valor menor que 1 retorna `400`."}],"responses":{"200":{"description":"Página de subscriptions.","schema":{"$ref":"#/definitions/WebhookSubscriptionListV1"}},"400":{"description":"Requisição inválida (`BODY_VALIDATION_FAILED` ou `INVALID_BODY_FORMAT`, com os campos em `context.validation`). Headers de autenticação ausentes também retornam `400`, respondidos pelo API Gateway.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"BODY_VALIDATION_FAILED","message":"Request validation failed","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"401":{"description":"Credenciais inválidas. Respondido pelo API Gateway, no formato `WebhookGatewayErrorV1`.","schema":{"$ref":"#/definitions/WebhookGatewayErrorV1"},"examples":{"application/json":{"error":"Unauthorized. Invalid X-API-KEY or X-API-ID.","status":{"code":401,"message":"Unauthorized"}}}},"500":{"description":"Erro interno. O motivo real fica no log.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}}}}},"/v1/webhooks/subscriptions/{id}":{"delete":{"x-title":"Remove Subscription","summary":"Remove uma subscription","description":"Remove a subscription. As notificações correspondentes deixam de ser enviadas.","operationId":"WebhookSubscriptionDeleteV1","produces":["application/json"],"tags":["Webhooks"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."},{"in":"path","name":"id","required":true,"type":"string","format":"uuid","description":"Identificador (UUID) do recurso, devolvido no cadastro.","x-example":"7c2d1e4f-5a6b-4c3d-8e9f-0a1b2c3d4e5f"}],"responses":{"204":{"description":"Subscription removida."},"400":{"description":"Requisição inválida (`BODY_VALIDATION_FAILED` ou `INVALID_BODY_FORMAT`, com os campos em `context.validation`). Headers de autenticação ausentes também retornam `400`, respondidos pelo API Gateway.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"BODY_VALIDATION_FAILED","message":"Request validation failed","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"401":{"description":"Credenciais inválidas. Respondido pelo API Gateway, no formato `WebhookGatewayErrorV1`.","schema":{"$ref":"#/definitions/WebhookGatewayErrorV1"},"examples":{"application/json":{"error":"Unauthorized. Invalid X-API-KEY or X-API-ID.","status":{"code":401,"message":"Unauthorized"}}}},"404":{"description":"Subscription não encontrada nesta conta (`subscription_not_found`).","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"subscription_not_found","message":"subscription não encontrada","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}},"500":{"description":"Erro interno. O motivo real fica no log.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}}}}},"/v1/webhooks/metadata":{"get":{"x-title":"Valores de Webhook","summary":"Lista os tipos de documento e de evento aceitos","description":"Lista os valores aceitos em `DocumentType` e `EventType` no cadastro de subscription. Todo tipo de documento aceita todos os eventos.","operationId":"WebhookMetadataV1","produces":["application/json"],"tags":["Webhooks"],"parameters":[{"in":"header","name":"X-Api-Id","required":true,"type":"string","description":"API ID usado para autenticação."},{"in":"header","name":"X-Api-Key","required":true,"type":"string","description":"API KEY usado para autenticação."},{"in":"header","name":"X-Use-ApiGateway","required":true,"type":"string","description":"Este header indica que a request será roteada pelo API Gateway da Qive e o valor deve ser passado como `always`."}],"responses":{"200":{"description":"Valores aceitos.","schema":{"$ref":"#/definitions/WebhookMetadataV1"}},"401":{"description":"Credenciais inválidas. Respondido pelo API Gateway, no formato `WebhookGatewayErrorV1`.","schema":{"$ref":"#/definitions/WebhookGatewayErrorV1"},"examples":{"application/json":{"error":"Unauthorized. Invalid X-API-KEY or X-API-ID.","status":{"code":401,"message":"Unauthorized"}}}},"500":{"description":"Erro interno. O motivo real fica no log.","schema":{"$ref":"#/definitions/WebhookErrorV1"},"examples":{"application/json":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","context":{"request_id":"6f1c2b9e-3d4a-4e5f-9a8b-7c6d5e4f3a2b"}}}}}}}}},"securityDefinitions":{"XApiId":{"type":"apiKey","in":"header","name":"x-api-id"},"XApiKey":{"type":"apiKey","in":"header","name":"x-api-key"},"XApiPermissionKey":{"type":"apiKey","in":"header","name":"x-api-permission-key"}},"definitions":{"nfse_event_request":{"type":"object","required":["owner","access_key","tp_evento"],"properties":{"owner":{"type":"string","description":"CNPJ do tomador da NFS-e, em nome de quem o evento será registrado. Deve pertencer à conta autenticada.","example":"19427033000140"},"access_key":{"type":"string","description":"Chave de acesso da NFS-e do padrão nacional, com exatamente 50 posições (dígitos ou letras maiúsculas).","minLength":50,"maxLength":50,"example":"35503080219427033000140000000000123426090012345678"},"tp_evento":{"type":"string","enum":["ConfirmacaoTomador","RejeicaoTomador"],"description":"Tipo do evento de manifestação:\n- `ConfirmacaoTomador`: confirma a prestação do serviço.\n- `RejeicaoTomador`: rejeita a NFS-e. Exige `x_justificativa`.","example":"RejeicaoTomador"},"x_justificativa":{"type":"string","minLength":15,"maxLength":255,"description":"Justificativa do evento. Obrigatória quando `tp_evento` for `RejeicaoTomador`, com 15 a 255 caracteres. Ignorada nos demais tipos.","example":"Serviço não foi prestado conforme contratado"},"n_seq_evento":{"type":"integer","description":"Número sequencial do evento para a NFS-e. Quando não informado, é usado o valor `1`.","example":1}}},"nfse_event_response":{"type":"object","required":["status"],"properties":{"status":{"description":"Status HTTP da resposta.","$ref":"#/definitions/Status"},"data":{"type":"object","description":"Resultado do processamento do evento pela Sefin Nacional.","properties":{"tipo_ambiente":{"type":"string","description":"Ambiente de processamento: `1` para produção, `2` para homologação.","example":"1"},"versao_aplicativo":{"type":"string","description":"Versão do aplicativo da Sefin Nacional que processou a requisição.","example":"1.00"},"data_hora_processamento":{"type":"string","description":"Data e hora do processamento da requisição pela Sefin Nacional.","example":"2026-09-11T10:00:00-03:00"},"id":{"type":"string","description":"Identificador do evento registrado. Preenchido apenas quando o evento é registrado.","example":"EVT35503080219427033000140000000000123426090012345678203206001"},"ver_aplic":{"type":"string","description":"Versão do aplicativo que registrou o evento. Preenchido apenas quando o evento é registrado.","example":"SefinNacional_1.0.0"},"amb_ger":{"type":"string","description":"Ambiente gerador do evento: `1` para município, `2` para Sefin Nacional, `3` para ADN. Preenchido apenas quando o evento é registrado.","example":"2"},"n_seq_evento":{"type":"string","description":"Número sequencial do evento registrado. Preenchido apenas quando o evento é registrado.","example":"001"},"dh_proc":{"type":"string","description":"Data e hora do registro do evento. Preenchido apenas quando o evento é registrado.","example":"2026-09-11T10:00:00-03:00"},"n_dfse":{"type":"string","description":"Número do DFS-e gerado para o evento. Sua presença confirma que o evento foi registrado.","example":"123456789012345"},"erros":{"type":"array","description":"Rejeições por regra de negócio retornadas pela Sefin Nacional. Quando preenchido, o evento não foi registrado.","items":{"type":"object","properties":{"codigo":{"type":"string","description":"Código da rejeição retornado pela Sefin Nacional.","example":"E1301"},"descricao":{"type":"string","description":"Descrição da rejeição retornada pela Sefin Nacional.","example":"Evento fora do prazo de emissão."}}}}}}},"example":{"status":{"code":200,"message":"OK"},"data":{"tipo_ambiente":"1","versao_aplicativo":"1.00","data_hora_processamento":"2026-09-11T10:00:00-03:00","id":"EVT35503080219427033000140000000000123426090012345678203206001","ver_aplic":"SefinNacional_1.0.0","amb_ger":"2","n_seq_evento":"001","dh_proc":"2026-09-11T10:00:00-03:00","n_dfse":"123456789012345","erros":null}}},"nfse_event_error_response":{"type":"object","description":"Resposta de erro do endpoint de evento de NFS-e.","properties":{"status":{"description":"Status HTTP do erro.","$ref":"#/definitions/Status"},"error":{"type":"string","description":"Mensagem descritiva do erro.","example":"Não foi possível processar os dados da requisição."},"request_id":{"type":"string","description":"Identificador da requisição, útil para suporte.","example":"1757595600000-01K4WDS1408Y7N3J4H5G6F7EQ2"}},"example":{"status":{"code":400,"message":"Bad Request"},"error":"Não foi possível processar os dados da requisição.","request_id":"1757595600000-01K4WDS1408Y7N3J4H5G6F7EQ2"}},"FiltersCTe":{"type":"object","properties":{"CreatedAt":{"$ref":"#/definitions/TimeRange","description":"Filtro por data de criação dentro da plataforma Qive"},"EmissionDate":{"$ref":"#/definitions/TimeRange","description":"Filtro por data de emissão da CTe no formato YYYY-MM-DD"},"DocumentIdentifier":{"type":"string","description":"Filtro por chave de acesso da CTe","example":"12345678901234567890123456789012345678901234"},"Owners":{"type":"array","items":{"type":"string"},"description":"Filtro por CNPJ dono das CTes na Qive","example":["12345678000195","98765432000195"]},"EmitterCnpj":{"type":"array","items":{"type":"string"},"description":"Filtro por CNPJ do emitente","example":["12345678000195","98765432000195"]},"Status":{"type":"string","description":"Filtro por status da CTe","example":"canceled"},"Origin":{"type":"array","items":{"type":"string"},"description":"Filtro pela origem pela qual a CTe foi obtida","example":["sefaz","upload"]},"HasCCE":{"type":"boolean","description":"Indica se a CTe possui carta de correção eletrônica associada","example":true},"HasManifestation":{"type":"boolean","description":"Indica se a CTe possui manifestação associada","example":true},"Cfops":{"type":"array","items":{"type":"string"},"description":"Filtro por cfop da CTe","example":["5102","6102"]},"Nfes":{"type":"array","items":{"type":"string"},"description":"Filtro por chaves de NFes relacionadas","example":["12345678901234567890123456789012345678901234"]},"Tags":{"type":"array","items":{"type":"integer","format":"uint64"},"description":"Filtro por tags associadas à CTe (pelo menos uma)","example":[1,2]},"Types":{"type":"array","items":{"type":"string"},"description":"Filtro por tipos de CTe","example":["normal","complemento"]},"IsTaker":{"type":"boolean","description":"Indica se o proprietário é o tomador da CTe","example":true},"CustomData":{"type":"array","items":{"$ref":"#/definitions/CustomDataItemCteV1"},"description":"Filtro por propriedades customizadas do documento. Aplica AND entre itens (`Name`) e OR entre os `Values` de um mesmo item.","example":[{"Name":"categoria","Values":["compras","insumos"]}]}}},"HTTPCteListResponseBodyV1":{"type":"object","properties":{"Ctes":{"description":"Ctes é um array contendo os dados dos CTes encontrados.","type":"array","items":{"$ref":"#/definitions/CteV1"}},"Paginator":{"description":"Paginator é a hash utilizada para a próxima página de CTes encontrados.","type":"string"},"Total":{"description":"Total é a quantidade total de CTes obtida na listagem","type":"integer","format":"int64"}}},"CteV1":{"type":"object","properties":{"Xml":{"description":"XML encodado em base64","type":"string"},"Origin":{"description":"Origem de entrada do CTe na plataforma Qive","type":"string"},"FlagErp":{"description":"Flag indicando se o CTe foi lançado no ERP","type":"boolean"},"Document":{"description":"Documento retorna o CTe em formato JSON","type":"object"},"Events":{"description":"Eventos relacionados ao CTe","type":"array","items":{"$ref":"#/definitions/EventCteV1"}},"Tags":{"description":"Tags associadas ao CTe","type":"array","items":{"type":"string"}},"Cfops":{"description":"CFOPs relacionados ao CTe","type":"array","items":{"type":"string"}},"AccessKey":{"description":"Chave de acesso do CTe","type":"string"},"EmissionDate":{"description":"Data de emissão do CTe","type":"string"},"CreatedAt":{"description":"Data de criação do CTe","type":"string"},"HasCCE":{"description":"Indica se o CTe possui Carta de Correção Eletrônica (CCE)","type":"boolean"},"Manifestations":{"description":"Manifestações relacionadas ao CTe","type":"array","items":{"$ref":"#/definitions/ManifestationCteV1"}},"Number":{"description":"Número do CTe","type":"string"},"Owner":{"description":"Proprietário do CTe","type":"string"},"OwnerRole":{"description":"Papel do proprietário do CTe","type":"array","items":{"type":"string"}},"Receiver":{"$ref":"#/definitions/ReceiverCteV1"},"Emitter":{"$ref":"#/definitions/EmitterCteV1"},"Dispatcher":{"$ref":"#/definitions/DispatcherCteV1"},"Sender":{"$ref":"#/definitions/SenderCteV1"},"Status":{"description":"Status do CTe","type":"string"},"Taker":{"$ref":"#/definitions/TakerCteV1"},"Addressee":{"$ref":"#/definitions/AddresseeCteV1"},"IBSCBS":{"$ref":"#/definitions/IBSCBSCteV1"},"AccessKeyPrev":{"description":"Chaves de acesso anteriores do CTe","type":"array","items":{"type":"string"}},"AccessKeysComp":{"description":"Chaves de acesso de CTes relacionados","type":"array","items":{"type":"string"}},"CustomData":{"type":"array","items":{"$ref":"#/definitions/CustomDataItemCteV1"},"description":"Propriedades customizadas do documento, retornadas quando \"CustomData\" é solicitado em Fields."}}},"CustomDataItemCteV1":{"type":"object","properties":{"Name":{"type":"string","description":"Nome da propriedade customizada","example":"categoria"},"Values":{"type":"array","items":{"type":"string"},"description":"Valores da propriedade customizada","example":["compras","insumos"]}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/pkg/customdata"},"EmitterCteV1":{"type":"object","properties":{"EmitterCpfCnpj":{"type":"string"},"EmitterName":{"type":"string"},"EmitterTradingName":{"type":"string"},"EmitterInscription":{"type":"string"},"EmitterContactEmail":{"type":"string"},"EmitterAddressUf":{"type":"string"},"EmitterAddressCity":{"type":"string"}}},"ReceiverCteV1":{"type":"object","properties":{"ReceiverCpfCnpj":{"type":"string"},"ReceiverName":{"type":"string"},"ReceiverTradingName":{"type":"string"},"ReceiverInscription":{"type":"string"},"ReceiverContactEmail":{"type":"string"},"ReceiverAddressUf":{"type":"string"},"ReceiverAddressCity":{"type":"string"}}},"DispatcherCteV1":{"type":"object","properties":{"DispatcherCpfCnpj":{"type":"string"},"DispatcherName":{"type":"string"},"DispatcherTradingName":{"type":"string"},"DispatcherInscription":{"type":"string"},"DispatcherContactEmail":{"type":"string"},"DispatcherAddressUf":{"type":"string"},"DispatcherAddressCity":{"type":"string"}}},"AddresseeCteV1":{"type":"object","properties":{"AddresseeCpfCnpj":{"type":"string"},"AddresseeName":{"type":"string"},"AddresseeTradingName":{"type":"string"},"AddresseeInscription":{"type":"string"},"AddresseeContactEmail":{"type":"string"},"AddresseeAddressUf":{"type":"string"},"AddresseeAddressCity":{"type":"string"}}},"SenderCteV1":{"type":"object","properties":{"SenderCpfCnpj":{"type":"string"},"SenderName":{"type":"string"},"SenderTradingName":{"type":"string"},"SenderInscription":{"type":"string"},"SenderContactEmail":{"type":"string"},"SenderAddressUf":{"type":"string"},"SenderAddressCity":{"type":"string"}}},"TakerCteV1":{"type":"object","properties":{"TakerCpfCnpj":{"type":"string"},"TakerName":{"type":"string"},"TakerTradingName":{"type":"string"},"TakerInscription":{"type":"string"},"TakerContactEmail":{"type":"string"},"TakerAddressUf":{"type":"string"},"TakerAddressCity":{"type":"string"}}},"EventCteV1":{"type":"object","properties":{"Type":{"type":"string"},"XML":{"type":"string"}}},"ManifestationCteV1":{"type":"object","properties":{"Active":{"type":"boolean"},"CreatedAt":{"type":"string"},"Date":{"type":"string"},"IsForced":{"type":"boolean"},"Protocol":{"type":"string"},"Seq":{"type":"string"},"Type":{"type":"string"}}},"FiltersCTeOSV1":{"type":"object","properties":{"CreatedAt":{"$ref":"#/definitions/TimeRange","description":"Filtro por data de criação dentro da plataforma Qive."},"EmissionDate":{"$ref":"#/definitions/TimeRange","description":"Filtro por data de emissão do CTe-OS no formato YYYY-MM-DD."},"DocumentIdentifier":{"type":"string","description":"Filtro por chave de acesso do CTe-OS (44 caracteres).","example":"35260544914992000138570010007357391702793584"},"Owners":{"type":"array","items":{"type":"string"},"description":"Lista de CNPJs/CPFs dos proprietários dos CTe-OS na Qive.","example":["19427033000140","03160081000185"]},"EmitterCnpj":{"type":"array","items":{"type":"string"},"description":"Filtro por CNPJ/CPF do emitente do CTe-OS.","example":["19427033000140"]},"Status":{"type":"string","description":"Filtro por status do CTe-OS. Valores possíveis: `authorized`, `canceled`.","example":"authorized"},"Origin":{"type":"string","description":"Filtro pela origem pela qual o CTe-OS foi obtido. Valores possíveis: `sefaz`, `upload`, `upload_zip`, `upload_daemon`, `upload_api`, `email`, `integracoes`.","example":"sefaz"},"HasCCE":{"type":"boolean","description":"Indica se o CTe-OS possui Carta de Correção Eletrônica associada.","example":true},"HasManifestation":{"type":"boolean","description":"Indica se o CTe-OS possui manifestação associada.","example":false},"Cfops":{"type":"array","items":{"type":"string"},"description":"Filtro por CFOP do CTe-OS.","example":["5102","6102"]},"Tags":{"type":"array","items":{"type":"integer","format":"int64"},"description":"Filtro por IDs de tags associadas ao CTe-OS.","example":[1,2]},"Types":{"type":"array","items":{"type":"string"},"description":"Filtro por tipos de CTe-OS.","example":["normal"]}}},"HTTPCteOSListResponseBodyV1":{"type":"object","properties":{"CteOs":{"description":"Array contendo os dados dos CTe-OS encontrados.","type":"array","items":{"$ref":"#/definitions/CteOSV1"}},"Paginator":{"description":"Token utilizado para buscar a próxima página de CTe-OS.","type":"string"},"Total":{"description":"Quantidade total de CTe-OS obtidos na listagem.","type":"integer","format":"int64"}}},"CteOSV1":{"type":"object","properties":{"Xml":{"description":"XML do CTe-OS encodado em base64.","type":"string"},"Origin":{"description":"Origem de entrada do CTe-OS na plataforma Qive.","type":"string"},"Events":{"description":"Eventos relacionados ao CTe-OS.","type":"array","items":{"$ref":"#/definitions/EventCteOSV1"}},"Tags":{"description":"Tags associadas ao CTe-OS.","type":"array","items":{"type":"string"}},"Cfops":{"description":"CFOPs relacionados ao CTe-OS.","type":"array","items":{"type":"string"}},"AccessKey":{"description":"Chave de acesso do CTe-OS (44 caracteres).","type":"string"},"EmissionDate":{"description":"Data de emissão do CTe-OS no formato ISO 8601.","type":"string"},"CreatedAt":{"description":"Data de criação do CTe-OS na plataforma Qive no formato ISO 8601.","type":"string"},"HasCCE":{"description":"Indica se o CTe-OS possui Carta de Correção Eletrônica.","type":"boolean"},"Manifestations":{"description":"Manifestações relacionadas ao CTe-OS.","type":"array","items":{"$ref":"#/definitions/ManifestationCteOSV1"}},"Number":{"description":"Número do CTe-OS.","type":"string"},"Owner":{"description":"CNPJ/CPF do proprietário do CTe-OS na Qive.","type":"string"},"OwnerRole":{"description":"Papéis do proprietário no CTe-OS.","type":"array","items":{"type":"string"}},"Emitter":{"$ref":"#/definitions/EmitterCteOSV1"},"Status":{"description":"Status do CTe-OS. Valores possíveis: `authorized`, `canceled`.","type":"string"},"Taker":{"$ref":"#/definitions/TakerCteOSV1"}}},"EmitterCteOSV1":{"type":"object","properties":{"EmitterCpfCnpj":{"type":"string"},"EmitterName":{"type":"string"},"EmitterTradingName":{"type":"string"},"EmitterInscription":{"type":"string"},"EmitterContactEmail":{"type":"string"},"EmitterAddressUf":{"type":"string"},"EmitterAddressCity":{"type":"string"}}},"TakerCteOSV1":{"type":"object","properties":{"TakerCpfCnpj":{"type":"string"},"TakerName":{"type":"string"},"TakerTradingName":{"type":"string"},"TakerInscription":{"type":"string"},"TakerContactEmail":{"type":"string"},"TakerAddressUf":{"type":"string"},"TakerAddressCity":{"type":"string"}}},"EventCteOSV1":{"type":"object","properties":{"Type":{"type":"string"},"XML":{"description":"XML do evento encodado em base64.","type":"string"}}},"ManifestationCteOSV1":{"type":"object","properties":{"Active":{"type":"boolean"},"CreatedAt":{"type":"string"},"Date":{"type":"string"},"IsForced":{"type":"boolean"},"Protocol":{"type":"string"},"Seq":{"type":"string"},"Type":{"type":"string"}}},"IBSCBSCteV1":{"type":"object","properties":{"GIBSCBS":{"$ref":"#/definitions/GIBSCBSCteV1"}}},"GIBSCBSCteV1":{"type":"object","properties":{"GCBS":{"$ref":"#/definitions/GCBSCteV1"},"GIBSMun":{"$ref":"#/definitions/GIBSMunCteV1"},"GIBSUF":{"$ref":"#/definitions/GIBSUFCteV1"}}},"GCBSCteV1":{"type":"object","properties":{"PCBS":{"type":"string"},"VCBS":{"type":"string"}}},"GIBSMunCteV1":{"type":"object","properties":{"PIBSMun":{"type":"string"},"VIBSMun":{"type":"string"}}},"GIBSUFCteV1":{"type":"object","properties":{"PIBSUF":{"type":"string"},"VIBSUF":{"type":"string"}}},"FiltersNFeV2":{"type":"object","properties":{"CreatedAt":{"$ref":"#/definitions/TimeRange","description":"Filtro por data de criação dentro da plataforma Qive"},"EmissionDate":{"$ref":"#/definitions/TimeRange","description":"Filtro por data de emissão da NFe no formato YYYY-MM-DD"},"DocumentIdentifier":{"type":"string","description":"Filtro por chave de acesso da NFe","example":"12345678901234567890123456789012345678901234"},"EmitterCnpj":{"type":"array","items":{"type":"string"},"description":"Filtro por CNPJ do emitente","example":["12345678000195","98765432000195"]},"TransporterCnpj":{"type":"array","items":{"type":"string"},"description":"Filtro por CNPJ do transportador","example":["12345678000195","98765432000195"]},"ReceiverCnpj":{"type":"array","items":{"type":"string"},"description":"Filtro por CNPJ do destinatário da NFe","example":["12345678000195","98765432000195"]},"Owners":{"type":"array","items":{"type":"string"},"description":"Filtro por CNPJ dono das NFes na Qive","example":["12345678000195","98765432000195"]},"Status":{"type":"string","description":"Filtro por status da NFe","example":"canceled"},"Origins":{"type":"array","items":{"type":"string"},"description":"Filtro pela origem pela qual a NFe foi obtida","example":["sefaz","upload"]},"HasCCE":{"type":"boolean","description":"Indica se a NFe possui carta de correção associada","example":true},"HasEvent":{"type":"boolean","description":"Indica se a NFe possui evento associado","example":true},"HasManifestation":{"type":"boolean","description":"Indica se a NFe possui manifestação associada","example":true},"HasXPed":{"type":"boolean","description":"Indica se a NFe possui elemento xPed associado","example":true},"Cfops":{"type":"array","items":{"type":"string"},"description":"Filtro por cfop da NFe","example":["5102","6102"]},"NfeNumber":{"$ref":"#/definitions/IntRange","description":"Filtro por número da NFe"},"Tags":{"type":"array","items":{"type":"integer","format":"uint64"},"description":"Filtro por tags associadas à NFe (pelo menos uma)","example":[1,2]},"TagsAll":{"type":"array","items":{"type":"integer","format":"uint64"},"description":"Filtro por tags associadas à NFe (todas)","example":[1,2]},"XPeds":{"type":"array","items":{"type":"string"},"description":"Filtro por número do pedido associado à NFe","example":["12345","54321"]},"OwnerRoles":{"type":"array","items":{"type":"string"},"description":"Filtro por papel do proprietário da NFe na Qive","example":["receiver","emitter","transporter","authorized"]},"FinNFe":{"type":"array","items":{"type":"string"},"description":"Filtro pela finalidade de emissão da NFe, correspondente ao campo `finNFe` do XML da NFe. Valores aceitos: `\"1\"` (Normal), `\"2\"` (Complementar), `\"3\"` (Ajuste), `\"4\"` (Devolução), `\"5\"` (Crédito), `\"6\"` (Débito).","example":["1","4"]},"CustomData":{"type":"array","items":{"$ref":"#/definitions/CustomDataItemNfeV2"},"description":"Filtro por propriedades customizadas do documento. Aplica AND entre itens (`Name`) e OR entre os `Values` de um mesmo item.","example":[{"Name":"categoria","Values":["compras","insumos"]}]}}},"TimeRange":{"type":"object","properties":{"From":{"type":"string","description":"From é início do intervalo para filtrar.","example":"2006-01-02"},"To":{"type":"string","description":"To é fim do intervalo para filtrar.","example":"2006-01-02 23:59:59"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/handler/http/nfse/v1/list"},"IntRange":{"type":"object","properties":{"From":{"type":"integer","format":"uint64","description":"From é início do intervalo para filtrar.","example":1},"To":{"type":"integer","format":"uint64","description":"To é fim do intervalo para filtrar.","example":10}}},"HTTPNfeListResponseBodyV2":{"type":"object","properties":{"Nfes":{"type":"array","items":{"$ref":"#/definitions/NfeV2"},"description":"Nfes é um array contendo os dados das NFes encontradas."},"Paginator":{"type":"string","description":"Paginator é a hash utilizada para a próxima página de NFes encontradas."},"Total":{"type":"integer","format":"int64","description":"Total é a quantidade total de NFes obtida na listagem"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/handler/http/nfe/v2/list"},"NfeV2":{"type":"object","properties":{"AccessKey":{"type":"string","description":"Chave de acesso da NFe"},"Cfops":{"type":"array","items":{"type":"string"},"description":"CFOPs relacionados à NFe"},"CreatedAt":{"type":"string","description":"Data de criação da NFe"},"CustomData":{"type":"array","items":{"$ref":"#/definitions/CustomDataItemNfeV2"},"description":"Propriedades customizadas do documento, retornadas quando \"CustomData\" é solicitado em Fields."},"Document":{"type":"object","description":"Documento retorna a NFe em formato JSON"},"EmissionDate":{"type":"string","description":"Data de emissão da NFe"},"Emitter":{"$ref":"#/definitions/EmitterNfeV2"},"Events":{"type":"array","items":{"$ref":"#/definitions/EventNfeV2"},"description":"Eventos relacionados à NFe"},"FlagErp":{"type":"boolean","description":"Flag indicando se a NFe foi lançada no ERP"},"HasCCE":{"type":"boolean","description":"Indica se a NFe possui Carta de Correção Eletrônica (CCE)"},"Manifestations":{"type":"array","items":{"$ref":"#/definitions/ManifestationNfeV2"},"description":"Manifestações relacionadas à NFe"},"Number":{"type":"string","description":"Número da NFe"},"Origin":{"type":"string","description":"Origem de entrada da NFe na plataforma Qive"},"Owner":{"type":"string","description":"Proprietário da NFe"},"OwnerRole":{"type":"string","description":"Papel do proprietário da NFe"},"Receiver":{"$ref":"#/definitions/ReceiverNfeV2"},"Status":{"type":"string","description":"Status da NFe"},"Tags":{"type":"array","items":{"type":"string"},"description":"Tags associadas à NFe"},"Xml":{"type":"string","description":"XML encodado em base64"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/nfe/list"},"CustomDataItemNfeV2":{"type":"object","properties":{"Name":{"type":"string","description":"Nome da propriedade customizada","example":"categoria"},"Values":{"type":"array","items":{"type":"string"},"description":"Valores da propriedade customizada","example":["compras","insumos"]}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/pkg/customdata"},"ReceiverNfeV2":{"type":"object","properties":{"ReceiverAddressUf":{"type":"string","x-go-name":"AddressUf"},"ReceiverCnpj":{"type":"string","x-go-name":"CNPJ"},"ReceiverCpf":{"type":"string","x-go-name":"CPF"},"ReceiverInscription":{"type":"string","x-go-name":"Inscription"},"ReceiverName":{"type":"string","x-go-name":"Name"},"ReceiverTradingName":{"type":"string","x-go-name":"TradingName"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/nfe/list"},"EmitterNfeV2":{"type":"object","properties":{"EmitterAddressUf":{"type":"string","x-go-name":"AddressUf"},"EmitterCnpj":{"type":"string","x-go-name":"CNPJ"},"EmitterCpf":{"type":"string","x-go-name":"CPF"},"EmitterInscription":{"type":"string","x-go-name":"Inscription"},"EmitterName":{"type":"string","x-go-name":"Name"},"EmitterTradingName":{"type":"string","x-go-name":"TradingName"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/nfe/list"},"ManifestationNfeV2":{"type":"object","properties":{"Active":{"type":"boolean"},"CreatedAt":{"type":"string"},"Date":{"type":"string"},"IsForced":{"type":"boolean"},"Protocol":{"type":"string"},"Seq":{"type":"string"},"Type":{"type":"string"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/nfe/list"},"EventNfeV2":{"type":"object","properties":{"type":{"type":"string","x-go-name":"Type"},"xml":{"type":"string","x-go-name":"XML"}},"x-go-package":null},"Status":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"Data":{"type":"object","properties":{"result":{"$ref":"#/definitions/Result"}}},"Properties":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"type":{"type":"string"}}},"PropertyData":{"type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"type":{"type":"string"}}},"EventData":{"type":"object","properties":{"access_key":{"type":"string","description":"44charKey","example":"11223344556677889900112233445566778899001122"},"type":{"type":"string","example":"210210"},"xml":{"type":"string","description":"base64 encoded","example":"SXNzbyBuw6NvIMOpIHVtIGV2ZW50byBkZSBORmUh"}}},"NfseEventData":{"type":"object","properties":{"access_key":{"type":"string","description":"40charKey","example":"1122334455667788990011223344556677889900"},"type":{"type":"string","example":"210210"},"xml":{"type":"string","description":"base64 encoded","example":"SXNzbyBuw6NvIMOpIHVtIGV2ZW50byBkZSBORmUh"}}},"Nfe":{"type":"object","properties":{"access_key":{"type":"string"},"xml":{"type":"string","description":"base64 encoded"}}},"Nfse":{"type":"object","properties":{"id":{"type":"string"},"xml":{"type":"string","description":"base64 encoded"}},"xml":{"name":"Nfe"}},"NfseV2":{"type":"object","properties":{"id":{"type":"string"},"xml":{"type":"string","description":"base64 encoded"},"properties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"type":"string"}}}}}},"NFsePropertyData":{"type":"object","properties":{"id":{"type":"string"},"cnpj":{"type":"string"},"properties":{"$ref":"#/definitions/Properties"}}},"Result":{"type":"object","properties":{"success":{"$ref":"#/definitions/Success"},"failed":{"$ref":"#/definitions/Failed"}}},"Success":{"type":"array","items":{"type":"string"}},"Failed":{"type":"array","items":{"type":"string"}},"Next":{"type":"string"},"Previous":{"type":"string"},"Error":{"type":"string"},"BadRequestError":{"type":"object","properties":{"field":{"type":"array","items":{"type":"string"}}}},"Signature":{"type":"string"},"Custom":{"type":"object","required":["access_key","value"],"properties":{"access_key":{"type":"string"},"value":{"type":"string"}}},"CustomNfse":{"type":"object","required":["id","value"],"properties":{"id":{"type":"string"},"value":{"type":"string"}}},"DataNFeUpload":{"type":"object","properties":{"request":{"type":"object","properties":{"request_id":{"type":"string"},"status":{"type":"string"}}},"invoices":{"type":"array","items":{"type":"object","properties":{"xml":{"type":"string"},"status":{"type":"string"}}}}}},"DataCTeUploadStatus":{"type":"object","properties":{"request":{"type":"object","properties":{"request_id":{"type":"string"},"status":{"type":"string"}}},"invoices":{"type":"array","items":{"type":"object","properties":{"access_key":{"type":"string"},"status":{"type":"string"}}}}}},"sefaz_response":{"type":"object","properties":{"code":{"type":"integer"},"description":{"type":"string"},"justification":{"type":"string"}}},"UtilityAddress":{"type":"object","properties":{"raw":{"type":"string","description":"Endereço completo não estruturado"}}},"UtilityParty":{"type":"object","properties":{"name":{"type":"string","description":"Razão social ou nome"},"tax_id":{"type":"string","description":"CNPJ/CPF"},"address":{"$ref":"#/definitions/UtilityAddress"}}},"UtilityItem":{"type":"object","properties":{"amount":{"type":"string","description":"Valor do item"},"description":{"type":"string","description":"Descrição do serviço/consumo"}}},"UtilityBoleto":{"type":"object","properties":{"digitable_line":{"type":"string","description":"Linha digitável do boleto"},"amount":{"type":"string","description":"Valor do boleto"},"due_date":{"type":"string","description":"Data de vencimento do boleto no formato YYYY-MM-DD"}}},"UtilityTaxDetail":{"type":"object","properties":{"amount":{"type":"string"},"base":{"type":"string"},"tax_rate":{"type":"string"}}},"Document":{"description":"Estrutura principal agregadora de um documento mapeado (Utility ou LATAM).","type":"object","properties":{"id":{"type":"string","x-go-name":"ID"},"document_type":{"type":"string","enum":["electricity","gas","water","telecom","generic","latam"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"electricity":{"$ref":"#/definitions/UtilityElectricity"},"gas":{"$ref":"#/definitions/UtilityGas"},"water":{"$ref":"#/definitions/UtilityWater"},"telecom":{"$ref":"#/definitions/UtilityTelecom"},"generic":{"$ref":"#/definitions/UtilityGeneric"},"xml":{"type":"string"}}},"UtilityElectricity":{"description":"Representação padronizada para contas de energia elétrica.","type":"object","properties":{"access_key":{"type":"string"},"consumer_unit":{"type":"string"},"currency":{"type":"string"},"due_date":{"type":"string"},"emission_date":{"type":"string"},"invoice_id":{"type":"string"},"nf_number":{"type":"string"},"reference_month":{"type":"string"},"total_amount":{"type":"string"},"boleto":{"$ref":"#/definitions/UtilityBoleto"},"emitter":{"$ref":"#/definitions/UtilityParty"},"taker":{"$ref":"#/definitions/UtilityParty"},"items":{"type":"array","items":{"$ref":"#/definitions/UtilityItem"}},"taxes":{"type":"object","properties":{"cofins":{"$ref":"#/definitions/UtilityTaxDetail"},"icms":{"$ref":"#/definitions/UtilityTaxDetail"},"pis":{"$ref":"#/definitions/UtilityTaxDetail"}}}},"example":{"access_key":"00000000000000000000000000000000000000000000","consumer_unit":"9876543","currency":"BRL","due_date":"2025-06-16","emission_date":"2025-05-20","invoice_id":"888777666","nf_number":"999888777","reference_month":"2025-05-01","total_amount":"541.87","boleto":{"digitable_line":"00000000000000000000000000000000000000000000000"},"emitter":{"name":"DISTRIBUIDORA DE ENERGIA NACIONAL S.A.","tax_id":"00111222000133"},"taker":{"name":"RENOVAVEL GERACAO DE ENERGIA S.A.","tax_id":"00000"},"items":[{"amount":"271.43","description":"Consumo-TUSD"},{"amount":"198.38","description":"Consumo-TE"}],"taxes":{"icms":{"amount":"95.4","base":"477","tax_rate":"20"}}}},"UtilityGas":{"description":"Representação padronizada para faturas de Gás.","type":"object","properties":{"consumption":{"type":"string"},"currency":{"type":"string"},"customer_code":{"type":"string"},"due_date":{"type":"string"},"emission_date":{"type":"string"},"invoice_id":{"type":"string"},"nf_number":{"type":"string"},"reading_date":{"type":"string"},"reference_month":{"type":"string"},"total_amount":{"type":"string"},"boleto":{"$ref":"#/definitions/UtilityBoleto"},"emitter":{"$ref":"#/definitions/UtilityParty"},"taker":{"$ref":"#/definitions/UtilityParty"},"items":{"type":"array","items":{"$ref":"#/definitions/UtilityItem"}}},"example":{"consumption":"1035.544","currency":"BRL","customer_code":"1234567","due_date":"2025-07-15","emission_date":"2025-06-17","invoice_id":"12345678","reading_date":"2025-06-13","reference_month":"2025-06-01","total_amount":"8702.71","boleto":{"amount":"8702.71","digitable_line":"000000000000000000000000000000000000000000000000","due_date":"2025-07-15"},"emitter":{"name":"GAS TOTAL DISTRIBUIDORA S.A.","tax_id":"00111222000133"},"taker":{"name":"RESTAURANTE E COMERCIO MODELO S.A."},"items":[{"amount":"8702.71","description":"GLP GRANEL - PTP"}]}},"UtilityWater":{"description":"Representação padronizada para contas de Água e Saneamento.","type":"object","properties":{"consumption":{"type":"string"},"currency":{"type":"string"},"customer_code":{"type":"string"},"due_date":{"type":"string"},"emission_date":{"type":"string"},"invoice_id":{"type":"string"},"nf_number":{"type":"string"},"reading_date":{"type":"string"},"reference_month":{"type":"string"},"total_amount":{"type":"string"},"boleto":{"$ref":"#/definitions/UtilityBoleto"},"emitter":{"$ref":"#/definitions/UtilityParty"},"taker":{"$ref":"#/definitions/UtilityParty"},"items":{"type":"array","items":{"$ref":"#/definitions/UtilityItem"}}},"example":{"consumption":"22.000","currency":"BRL","customer_code":"0 000 000 000 0","due_date":"2025-01-19","emission_date":"2025-01-03","invoice_id":"999 888 777 66","reading_date":"2024-12-30","reference_month":"2025-01-01","total_amount":"377.00","boleto":{"amount":"377","digitable_line":"000000000000000000000000000000000000000000000000","due_date":"2025-01-19"},"emitter":{"name":"SANEAMENTO VIRTUAL S.A.","tax_id":"00111222000133"},"taker":{"name":"EMPRESA EXEMPLO LTDA"},"items":[{"amount":"214.11","description":"ABASTECIMENTO DE AGUA"},{"amount":"158.43","description":"ESGOTO DINAMICO COM COLETA E TRATAMENTO EDT"}]}},"UtilityTelecom":{"description":"Representação padronizada para faturas de Telecomunicações.","type":"object","properties":{"access_key":{"type":"string"},"additional_information":{"type":"string"},"cfop":{"type":"string"},"currency":{"type":"string"},"due_date":{"type":"string"},"emission_date":{"type":"string"},"nf_number":{"type":"string"},"purchase_order":{"type":"string"},"serie":{"type":"string"},"total_amount":{"type":"string"},"boleto":{"$ref":"#/definitions/UtilityBoleto"},"emitter":{"$ref":"#/definitions/UtilityParty"},"taker":{"$ref":"#/definitions/UtilityParty"},"items":{"type":"array","items":{"$ref":"#/definitions/UtilityItem"}},"taxes":{"type":"object","properties":{"icms":{"$ref":"#/definitions/UtilityTaxDetail"}}}},"example":{"cfop":"5307","currency":"BRL","emission_date":"2025-05-03","nf_number":"999888777666555","serie":"B47","total_amount":"89.88","boleto":{"amount":"126.04","digitable_line":"00000000000000000000000000000000000000000012604","due_date":"2025-05-20"},"emitter":{"name":"NEXUS TELECOMUNICACOES S.A.","tax_id":"00111222000133"},"taker":{"name":"TECHNOVA SOLUCOES DIGITAIS LTDA","tax_id":"99888777000166"},"items":[{"amount":"89.88","description":"60GB - Plano Internet Ilimitado"}],"taxes":{"icms":{"amount":"16.18","base":"89.88","tax_rate":"18"}}}},"UtilityGeneric":{"description":"Representação padronizada para Recibos e Notas Genéricas processadas via OCR.","type":"object","properties":{"additional_information":{"type":"string"},"document_id":{"type":"string"},"due_date":{"type":"string"},"emission_date":{"type":"string"},"purchase_order":{"type":"string"},"sub_type":{"type":"string"},"total_amount":{"type":"string"},"emitter":{"$ref":"#/definitions/UtilityParty"},"taker":{"$ref":"#/definitions/UtilityParty"},"items":{"type":"array","items":{"$ref":"#/definitions/UtilityItem"}}},"example":{"additional_information":"Locação de bens móveis são amparados por não incidência da retenção...","document_id":"999/2026","due_date":"2026-02-28","emission_date":"2026-02-28","sub_type":"RECIBO","total_amount":"41370","emitter":{"name":"TERRA FORTE LOCACOES E EQUIPAMENTOS LTDA","tax_id":"00111222000133"},"taker":{"name":"CONSTRUTORA HORIZONTE PLANO S.A.","tax_id":"99888777000166"},"items":[{"amount":"21000","description":"Locação Escavadeira 5870 ref. Medição 156960 de 01-01-26 até 31-01-26"},{"amount":"4480","description":"DESCONTO"}]}},"BankBillet":{"description":"BankBillet é a representação de um Boleto retornado pela API de Boletos com Notas.\nContém os campos beneficiary, final_beneficiary, owner, issue_date, due_date, currency, cost, cost_updated, discounts, fine, interest, bar_code, digitable_line, pdf_path, linked_documents, trust_level e status","type":"object","properties":{"beneficiary":{"type":"object","properties":{"name":{"type":"string","example":"ARQUIVEI SERVICOS ON LINE LTDA"},"document":{"type":"string","example":"19427033000140"},"bank_number":{"type":"string","example":"341"},"bank_name":{"type":"string","example":"Itaú Unibanco S.A."}}},"final_beneficiary":{"type":"object","properties":{"name":{"type":"string","example":"ARQUIVEI SERVICOS ON LINE LTDA"},"document":{"type":"string","example":"19427033000140"}}},"owner":{"type":"object","properties":{"name":{"type":"string","example":"ARQUIVEI SERVICOS ON LINE LTDA"},"document":{"type":"string","example":"19427033000140"},"address":{"type":"object","properties":{"uf":{"type":"string","example":"SP"},"city":{"type":"string","example":"São Carlos"},"public_place":{"type":"string","example":"Avenida Doutor Carlos Botelho, 1863"}}}}},"issue_date":{"type":"string","format":"date","example":"2024-10-16"},"due_date":{"type":"string","format":"date","example":"2024-10-28"},"currency":{"type":"string","example":"BRL"},"cost":{"type":"string","example":"6697.51"},"cost_updated":{"type":"string","example":"0"},"discounts":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","example":"BRL"},"value":{"type":"string","example":"433.72"},"date":{"type":"string","format":"date","example":"2024-08-30"}}}},"fine":{"type":"string","example":"264.1"},"interest":{"type":"string","example":"911.6"},"bar_code":{"type":"string","example":"28193710760346025632108371649224332004168051"},"digitable_line":{"type":"string","example":"23794020000000000000670000012345678902109876"},"pdf_path":{"type":"string","example":"https://api.arquivei.com.br/v1/bank-billet/19427033000140/23794020000000000000670000012345678902109876/pdf"},"linked_documents":{"type":"array","items":{"type":"object","properties":{"document_type":{"type":"string","example":"NFSe"},"document_identifier":{"type":"string","example":"23794020000000000000670000012345678902109876"},"search_id":{"type":"string","example":"23794020000000000000670000012345678902109876"},"emitter_cnpj":{"type":"string","example":"00062914000187"}}},"example":[{"document_type":"NFSe","document_identifier":"23794020000000000000670000012345678902109876","search_id":"23794020000000000000670000012345678902109876","emitter_cnpj":"00062914000187"},{"document_type":"NFe","document_identifier":"35230901737623000104550010000226191358056851","search_id":"35230901737623000104550010000226191358056851"}]},"trust_level":{"type":"string","example":"high"},"status":{"type":"string","example":"paid"},"document_number":{"type":"string","example":"001347589"},"our_number":{"type":"string","example":"491382749559767141"}}},"Invoice":{"description":"Invoice is the invoice representation in the API","type":"object","properties":{"id":{"description":"ID is the invoice id inside Arquivei.","type":"string"},"parsed_document":{"type":"object","properties":{"currency":{"type":"string"},"due_date":{"type":"string"},"emission_date":{"type":"string"},"emitter":{"type":"object","properties":{"address":{"type":"object","properties":{"raw":{"type":"string"}}},"name":{"type":"string"},"tax_id":{"type":"string"}}},"invoice_id":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string"}}}},"payment_terms":{"type":"string"},"purchase_order":{"type":"string"},"subtotal":{"type":"string"},"taker":{"type":"object","properties":{"address":{"type":"object","properties":{"raw":{"type":"string"}}},"name":{"type":"string"},"tax_id":{"type":"string"}}},"total_amount":{"type":"string"},"total_due":{"type":"string"},"type":{"type":"string"}}}}},"Pagination":{"type":"object","properties":{"next":{"description":"Next is a URL for the next page using the Arquivei API","type":"string"},"previous":{"description":"Previous is an URL for the previous page using the Arquivei API","type":"string"}}},"GetHTTPResponseV1":{"description":"GetHTTPResponseV1 is the success response returned by the Get endpoint of Invoice API.","type":"object","properties":{"data":{"$ref":"#/definitions/Invoice"},"status":{"description":"Status is the status code information","type":"object","properties":{"code":{"description":"Code is the HTTP Status code.","type":"integer","format":"int64"},"message":{"description":"Message is a message describing the http status code.","type":"string"}}}}},"GetPdfHTTPResponseV1":{"description":"GetPdfHTTPResponseV1 is the success response returned by the Get PDF endpoint of Invoice API.","type":"object","properties":{"data":{"description":"Data is the data of the invoice document found.","type":"object","properties":{"pdf_content":{"type":"string"}}},"status":{"description":"Status is the status code information","type":"object","properties":{"code":{"description":"Code is the HTTP Status code.","type":"integer","format":"int64"},"message":{"description":"Message is a message describing the http status code.","type":"string"}}}}},"HTTPResponseErrorV1":{"type":"object","properties":{"error":{"$ref":"#/definitions/Error"},"status":{"$ref":"#/definitions/Status"}}},"SearchHTTPResponseV1":{"type":"object","properties":{"data":{"description":"Data is the returned data from the search. It is a list of invoices that were returned.","type":"array","items":{"$ref":"#/definitions/Invoice"}},"page":{"$ref":"#/definitions/Pagination"},"status":{"description":"Status is the status code information","type":"object","properties":{"code":{"description":"Code is the HTTP Status code.","type":"integer","format":"int64"},"message":{"description":"Message is a message describing the http status code.","type":"string"}}}}},"OCRStatusResponse":{"type":"object","properties":{"code":{"description":"Code is the HTTP Status code.","type":"integer","format":"int64"},"message":{"description":"Message is a message describing the http status code.","type":"string"}}},"OCRDataResponse":{"type":"object","properties":{"message":{"description":"message contains the message informing the success of sending the document.","type":"string"},"message_id":{"description":"message_id is a random ID generated for message.","type":"string"}}},"GetUtilityHTTPResponseV1":{"type":"object","properties":{"data":{"description":"Data is the data of the utility document found\nIt will return an array with a single document","type":"array","items":{"$ref":"#/definitions/Document"},"x-go-name":"Data"},"status":{"description":"Status is the status code information","type":"object","properties":{"code":{"description":"Code is the HTTP Status code.","type":"integer","format":"int64","x-go-name":"Code"},"message":{"description":"Message is a message describing the http status code.","type":"string","x-go-name":"Message"}},"x-go-name":"Status"}}},"GetUtilityPdfHTTPResponseV1":{"type":"object","properties":{"data":{"description":"Data is the data of the utility document found.","type":"object","properties":{"pdf_content":{"type":"string","x-go-name":"PdfContent"}},"x-go-name":"Data"},"status":{"description":"Status is the status code information","type":"object","properties":{"code":{"description":"Code is the HTTP Status code.","type":"integer","format":"int64","x-go-name":"Code"},"message":{"description":"Message is a message describing the http status code.","type":"string","x-go-name":"Message"}},"x-go-name":"Status"}}},"GetUtilityXMLHTTPResponseV1":{"type":"object","properties":{"data":{"description":"Data is the data of the utility document found.","type":"object","properties":{"xml_content":{"type":"string","x-go-name":"XmlContent"}},"x-go-name":"Data"},"status":{"description":"Status is the status code information","type":"object","properties":{"code":{"description":"Code is the HTTP Status code.","type":"integer","format":"int64","x-go-name":"Code"},"message":{"description":"Message is a message describing the http status code.","type":"string","x-go-name":"Message"}},"x-go-name":"Status"}}},"SearchUtilitiesHTTPResponseV1":{"type":"object","properties":{"data":{"description":"Data is the returned data from the search. It is a list of documents that were returned.","type":"array","items":{"$ref":"#/definitions/Document"},"x-go-name":"Data"},"page":{"$ref":"#/definitions/Pagination"},"status":{"description":"Status is the status code information","type":"object","properties":{"code":{"description":"Code is the HTTP Status code.","type":"integer","format":"int64","x-go-name":"Code"},"message":{"description":"Message is a message describing the http status code.","type":"string","x-go-name":"Message"}},"x-go-name":"Status"}}},"SearchLATAMHTTPResponseV1":{"type":"object","properties":{"data":{"description":"É a resposta para search de documentos latam.","type":"array","items":{"description":"Cada item representa um documento do tipo latam","$ref":"#/definitions/Latam"},"x-go-name":"Data"},"page":{"$ref":"#/definitions/Pagination"},"status":{"description":"Status é o status code http","type":"object","properties":{"code":{"description":"Code retorna um texto referente ao status HTTP retornado na resposta","type":"integer","format":"int64","x-go-name":"Code"},"message":{"description":"Message retorna a mensagem da resposta","type":"string","x-go-name":"Message"}},"x-go-name":"Status"}}},"BankBilletsResponseErrorV1":{"type":"object","properties":{"code":{"description":"Code é uma string que informa o tipo de erro.","type":"string"},"message":{"description":"Mensagem é uma string que dispõe de maiores informações sobre o erro.","type":"string"}}},"BankBilletsResponseV1":{"type":"object","properties":{"meta":{"type":"object","properties":{"total":{"type":"integer","description":"Total de itens disponíveis"},"current_page":{"type":"integer","description":"Página atual"},"last_page":{"type":"integer","description":"Última página possível de visualização"},"per_page":{"type":"integer","description":"Total de itens por página"},"from":{"type":"integer","description":"Item inicial da paginação de resultados atual"},"to":{"type":"integer","description":"Item final da paginação de resultados atual"}}},"data":{"type":"array","items":{"$ref":"#/definitions/BankBillet"}}}},"BankBilletsResponseErrorV2":{"type":"object","properties":{"code":{"description":"Code é uma string que informa o tipo de erro.","type":"string"},"message":{"description":"Mensagem é uma string que dispõe de maiores informações sobre o erro.","type":"string"}}},"BankBilletsResponseV2":{"type":"object","properties":{"meta":{"type":"object","properties":{"limit":{"type":"integer","description":"Número máximo de itens por página","example":10},"next":{"type":"string","description":"Cursor da próxima página (null se não houver mais páginas)","example":"eyJjdXJzb3IiOiIxMjM0NTYifQ=="},"previous":{"type":"string","description":"Cursor da página anterior (null se não houver mais páginas)","example":"eyJjdXJzb3IiOiIxMjM0NTYifQ=="},"current page":{"type":"integer","description":"Página Atual","example":6}}},"data":{"type":"array","items":{"$ref":"#/definitions/BankBillet"}}}},"ErrorDescription":{"type":"object","properties":{"code":{"description":"Code é uma string que informa o tipo de erro.","type":"string"},"message":{"description":"Mensagem é uma string que dispõe de maiores informações sobre o erro.","type":"string"}}},"Tag":{"type":"object","properties":{"ColorBg":{"type":"string"},"ColorText":{"type":"string"},"Id":{"type":"integer","format":"int64"},"IsLane":{"type":"boolean"},"LanePosition":{"type":"integer","format":"int64"},"Name":{"type":"string"}}},"HTTPAccountListResponseV1":{"type":"object","properties":{"Tags":{"description":"Tags retorna uma lista de etiquetas encontradas de acordo com a requisição feita.","type":"array","items":{"$ref":"#/definitions/Tag"}}}},"HTTPTagResponseErrorV1":{"type":"object","properties":{"error":{"$ref":"#/definitions/ErrorDescription"}}},"HTTPTagsUpdateResponseV1":{"description":"HTTPTagsUpdateResponseV1 contém a resposta da chamada para a API","type":"object","properties":{"Code":{"description":"Code retorna um texto referente ao status HTTP retornado na resposta","type":"string"},"Message":{"description":"Message retorna a mensagem da resposta","type":"string"}}},"DfeTag":{"type":"object","properties":{"Identifier":{"type":"string"},"TagIDs":{"type":"array","items":{"type":"integer","format":"int64"}}}},"HTTPTagsDfeListResponseV1":{"description":"HTTPTagsDfeListResponseV1 contém a resposta da chamada para a API","type":"object","properties":{"Tags":{"description":"Tags retorna uma lista de etiquetas vinculadas ao documento.","type":"array","items":{"$ref":"#/definitions/DfeTag"}}}},"HTTPOCRStatusResponse":{"description":"HTTPOCRStatusResponse é a resposta de sucesso na busca de um status de OCR.","type":"object","properties":{"data":{"$ref":"#/definitions/OCRStatus"},"status":{"$ref":"#/definitions/Status"}}},"OCRStatus":{"description":"OCRStatus é a resposta de sucesso na busca de um status de OCR.","type":"object","properties":{"document_id":{"description":"Identificador do documento. Apenas é retornado em caso de NFSE. Pode ser usado para recuperar o documento usando as APIs de NFSe.","type":"string"},"document_type":{"description":"Tipo do documento. Valores possíveis são \"NFSE\", \"UNKOWN\", etc.","type":"string","example":"\"NFSE\""},"error_code":{"description":"Código de erro retornado pelo serviço.\nErros possíveis:\n- 'DOCUMENT_RESTRICTED': município bloqueado para processamento via OCR. Para mais informações, entre em contato com o time de atendimento.\n- 'DOCUMENT_NOT_ENABLED': documento não habilitado para sua conta. Verifique a habilitação junto ao time de atendimento.\n- 'INVALID_FILE': arquivo inválido. Certifique-se de que é um PDF válido e que não excede o limite de 10 páginas permitidas.\n- 'INVALID_NFSE': documento não reconhecido como uma NFS-e válida. O documento enviado atende aos critérios de processamento, mas não foi identificado como uma NFS-e válida.\n- 'MANUAL_REVIEW_REQUIRED': documento em análise manual. Aguarde o processamento por nossa equipe de operações.\n- 'UNAUTHENTICATED_NFSE': nfse não autenticada na prefeitura. Não foi possível confirmar a validade do documento. Tente validá-lo diretamente na prefeitura ou entre em contato com o time de atendimento.\n- 'INTERNAL_ERROR': Indica erro genérico no processamento do documento.\n","type":"string"},"message_id":{"type":"string","description":"MessageID é o ID da mensagem que foi enviada para o processamento do OCR."},"role":{"description:":"Role representa o papel do proprietário no documento.\nEsse campo só é retornado para documentos NFSE.\nOs valores possíveis são \"EMITTED\" e \"RECEIVED\".","type":"string"},"status_code":{"description":"StatusCode é o status do processamento do documento.\nPode ser \"success\", \"error\", \"processing\".","type":"string"},"trace_id":{"type":"string"}}},"HTTPCertificateUploadResponseV1":{"type":"object","properties":{"Certificate":{"description":"certificate retorna os dados originais do certificado","type":"array","items":{"$ref":"#/definitions/CertificateData"}},"Success":{"description":"success retorna a lista de documentos que tiveram o upload realizado com sucesso.","type":"array","items":{"type":"string"}}}},"CertificateData":{"type":"object","properties":{"CNPJ":{"type":"string"},"CompanyName":{"type":"string"},"ExpirationDate":{"type":"string","format":"date-time"}}},"HTTPCertificateResponseErrorV1":{"type":"object","properties":{"error":{"$ref":"#/definitions/ErrorDescription"}}},"LATAMUploadHTTPResponseV1":{"description":"HTTPResponseV1 é a resposta de sucesso retornada pelo upload de um documento latam","schema":{"properties":{"data":{"description":"Data é o resultado da operação.","properties":{"request_id":{"description":"RequestID é o identificador da requisição","type":"string","x-go-name":"RequestID"}},"type":"object","x-go-name":"Data"},"status":{"description":"Status é o código de status HTTP.","properties":{"code":{"description":"Status é o código de status HTTP.","format":"int64","type":"integer","x-go-name":"Code"},"message":{"description":"Message é uma mensagem descrevendo o código de status HTTP.","type":"string","x-go-name":"Message"}},"type":"object","x-go-name":"Status"}},"type":"object"}},"Latam":{"properties":{"id":{"description":"É o identificador do documento.","type":"string"},"parsed_document":{"type":"object","properties":{"country":{"type":"string","x-go-name":"Country"},"document_type":{"type":"string","x-go-name":"DocumentType"},"emission_date":{"type":"string","x-go-name":"EmissionDate"},"emitter":{"properties":{"name":{"type":"string","x-go-name":"Name"},"tax_id":{"type":"string","x-go-name":"TaxID"}},"type":"object","x-go-name":"Emitter"},"invoice_id":{"type":"string","x-go-name":"InvoiceID"},"invoice_number":{"type":"string","x-go-name":"InvoiceNumber"},"invoice_serie":{"type":"string","x-go-name":"InvoiceSerie"},"items":{"items":{"properties":{"amount":{"type":"string","x-go-name":"Amount"},"description":{"type":"string","x-go-name":"Description"},"gtin":{"type":"string","x-go-name":"GTIN"},"id_code":{"type":"string","x-go-name":"IDCode"},"item_discount":{"type":"string","x-go-name":"ItemDiscount"},"product_service_code":{"type":"string","x-go-name":"ProductServiceCode"},"quantity":{"type":"string","x-go-name":"Quantity"},"taxable_operation":{"type":"string","x-go-name":"TaxableOperation"},"taxes":{"items":{"properties":{"amount":{"type":"string","x-go-name":"Amount"},"base":{"type":"string","x-go-name":"Base"},"factor_type":{"type":"string","x-go-name":"FactorType"},"tax_rate":{"type":"string","x-go-name":"TaxRate"},"type":{"type":"string","x-go-name":"Type"}},"type":"object"},"type":"array","x-go-name":"Taxes"},"taxes_retention":{"items":{"properties":{"amount":{"type":"string","x-go-name":"Amount"},"base":{"type":"string","x-go-name":"Base"},"factor_type":{"type":"string","x-go-name":"FactorType"},"tax_rate":{"type":"string","x-go-name":"TaxRate"},"type":{"type":"string","x-go-name":"Type"}},"type":"object"},"type":"array","x-go-name":"TaxesRetention"},"unit_code":{"type":"string","x-go-name":"UnitCode"},"unit_description":{"type":"string","x-go-name":"UnitDescription"},"unit_price":{"type":"string","x-go-name":"UnitPrice"}},"type":"object"},"type":"array","x-go-name":"Items"},"payment_form":{"type":"string","x-go-name":"PaymentForm"},"payment_method":{"type":"string","x-go-name":"PaymentMethod"},"status":{"type":"string","x-go-name":"Status"},"subtotal":{"type":"string","x-go-name":"Subtotal"},"taker":{"properties":{"name":{"type":"string","x-go-name":"Name"},"tax_id":{"type":"string","x-go-name":"TaxID"}},"type":"object","x-go-name":"Taker"},"total":{"type":"string","x-go-name":"Total"},"total_discount":{"type":"string","x-go-name":"TotalDiscount"},"total_taxes":{"type":"string","x-go-name":"TotalTaxes"},"total_taxes_retention":{"type":"string","x-go-name":"TotalTaxesRetention"}}}},"type":"object","x-go-package":"gitlab.com/arquivei/saas/utilities/utilitiesverse/services/view/apiview/v1/parser"},"GetLATAMHTTPResponseV1":{"type":"object","properties":{"data":{"$ref":"#/definitions/Latam"},"status":{"description":"Status é o código de status HTTP.","properties":{"code":{"description":"Status é o código de status HTTP.","format":"int64","type":"integer","x-go-name":"Code"},"message":{"description":"Message é uma mensagem descrevendo o código de status HTTP.","type":"string","x-go-name":"Message"}},"type":"object","x-go-name":"Status"}}},"GetLATAMXMLHTTPResponseV1":{"description":"GetLATAMXMLHTTPResponseV1 é a resposta de sucesso retornada pelo endpoint de obtenção do XML.","schema":{"properties":{"data":{"description":"Data é o documento encontrado.","properties":{"xml_content":{"type":"string","x-go-name":"XMLContent"}},"type":"object","x-go-name":"Data"},"status":{"description":"Status é o código de status HTTP.","properties":{"code":{"description":"Status é o código de status HTTP.","format":"int64","type":"integer","x-go-name":"Code"},"message":{"description":"Message é uma mensagem descrevendo o código de status HTTP.","type":"string","x-go-name":"Message"}},"type":"object","x-go-name":"Status"}},"type":"object"}},"LATAMCancelHTTPResponseV1":{"description":"É a resposta de sucesso retornada pela operação de atualização de status para cancelamento de um documento.","schema":{"properties":{"data":{"description":"Data é o documento encontrado.","properties":{"message":{"description":"Mensagem indicando se a operação foi efetuada com sucesso.","type":"string","x-go-name":"Message"}},"type":"object","x-go-name":"Data"},"status":{"description":"Status é o código de status HTTP.","properties":{"code":{"description":"Status é o código de status HTTP.","format":"int64","type":"integer","x-go-name":"Code"},"message":{"description":"Message é uma mensagem descrevendo o código de status HTTP.","type":"string","x-go-name":"Message"}},"type":"object","x-go-name":"Status"}},"type":"object"}},"CnaeSecundarias":{"properties":{"Code":{"type":"string"}},"title":"CnaeSecundarias represents the economic activity of a company in the Receita Federal database.","type":"object"},"CnpjDefaultErrorPayload":{"description":"É usado para fornecer informações sobre o erro ocorrido, incluindo código, mensagem e contexto adicional.","properties":{"code":{"description":"Code é o código de erro específico da API.","example":"INTERNAL_ERROR","type":"string"},"context":{"additionalProperties":{},"description":"Context é um mapa de contexto adicional que pode conter informações extras sobre o erro.","example":{"request_id":"req-12345","trace_id":"1234567890abcdef"},"type":"object"},"message":{"description":"Message é uma descrição legível do erro.","example":"Ocorreu um erro interno no servidor.","type":"string"}},"title":"CnpjDefaultErrorPayload representa o conteúdo do erro de uma API.","type":"object"},"CnpjDefaultErrorResponse":{"description":"Resposta de erro.","properties":{"error":{"$ref":"#/definitions/CnpjDefaultErrorPayload"}},"title":"CnpjDefaultErrorResponse representa a resposta de erro padrão de uma API.","type":"object"},"Empresa":{"description":"A estrutura é baseada na resposta da API da ReceitaWS.","properties":{"abertura":{"description":"Abertura é a data de abertura da empresa no formato DD/MM/AAAA.","example":"18/12/2013","type":"string"},"atividade_principal":{"description":"AtividadePrincipal contêm as informações da atividade principal da empresa.","items":{"properties":{"code":{"description":"Code é o código da atividade econômica (CNAE).","example":"62.03-1-00","type":"string"},"text":{"description":"Text é a descrição da atividade econômica.","example":"Desenvolvimento e licenciamento de programas de computador não-customizáveis","type":"string"}},"type":"object"},"type":"array"},"atividades_secundarias":{"description":"AtividadesSecundarias contêm as informações das atividades secundárias da empresa.","items":{"properties":{"code":{"description":"Code é o código da atividade econômica (CNAE).","example":"62.03-1-00","type":"string"},"text":{"description":"Text é a descrição da atividade econômica.","example":"Desenvolvimento e licenciamento de programas de computador não-customizáveis","type":"string"}},"type":"object"},"type":"array"},"bairro":{"description":"Bairro é o bairro do endereço da empresa.","example":"CENTRO","type":"string"},"capital_social":{"description":"CapitalSocial é o capital social da empresa.","example":"227850234.00","type":"string"},"cep":{"description":"CEP é o CEP do endereço da empresa.","example":"13.560-250","type":"string"},"cnpj":{"description":"CNPJ é o número do CNPJ da empresa.","example":"12.345.678/0001-90","type":"string"},"complemento":{"description":"Complemento é o complemento do endereço da empresa.","type":"string"},"data_situacao":{"description":"DataSituacao é a data da situação cadastral da empresa no formato DD/MM/AAAA.","example":"18/12/2013","type":"string"},"data_situacao_especial":{"description":"DataSituacaoEspecial é a data da situação especial da empresa no formato DD/MM/AAAA.","type":"string"},"efr":{"description":"EFR é o ente Federativo Responsável. NÃO IMPLEMENTADO.","type":"string"},"email":{"description":"Email é o email de contato da empresa.","example":"contabilidade@arquivei.com.br","type":"string"},"fantasia":{"description":"Fantasia é o nome fantasia da empresa.","example":"QIVE","type":"string"},"logradouro":{"description":"Logradouro é o logradouro da empresa.","example":"AVENIDA DOUTOR CARLOS BOTELHO","type":"string"},"motivo_situacao":{"description":"MotivoSituacao é o motivo da situação cadastral da empresa.","type":"string"},"municipio":{"example":"SAO CARLOS","type":"string"},"natureza_juridica":{"description":"NaturezaJuridica é a natureza jurídica da empresa.","example":"206-2 - Sociedade Empresária Limitada","type":"string"},"nome":{"description":"Nome é a razão social da empresa.","example":"ARQUIVEI SERVICOS ON LINE LTDA","type":"string"},"numero":{"description":"Numero é o número do endereço da empresa.","example":"1863","type":"string"},"porte":{"description":"Porte é o porte da empresa. Pode ser MICRO EMPRESA, EMPRESA DE PEQUENO PORTE, ou DEMAIS.","example":"DEMAIS","type":"string"},"qsa":{"description":"QSA contêm as informações do quadro societário da empresa.","items":{"properties":{"nome":{"type":"string"},"nome_rep_legal":{"type":"string"},"pais_origem":{"type":"string"},"qual":{"type":"string"},"qual_rep_legal":{"type":"string"}},"type":"object"},"type":"array"},"simei":{"description":"Simei é o Microempreendedor Individual","properties":{"data_exclusao":{"type":"string"},"data_opcao":{"type":"string"},"optante":{"description":"Optante indica se a empresa é optante pelo MEI.","example":true,"type":"boolean"},"ultima_atualizacao":{"type":"string"}},"type":"object"},"simples":{"description":"Simples é o Simples Nacional","properties":{"data_exclusao":{"type":"string"},"data_opcao":{"type":"string"},"optante":{"description":"Optante indica se a empresa é optante pelo Simples Nacional.","example":true,"type":"boolean"},"ultima_atualizacao":{"type":"string"}},"type":"object"},"situacao":{"description":"Situacao é a situação cadastral da empresa.","example":"ATIVA","type":"string"},"situacao_especial":{"description":"SituacaoEspecial é a situação especial da empresa.","type":"string"},"status":{"description":"Status sempre será \"OK\" se a consulta foi bem sucedida.","example":"OK","type":"string"},"telefone":{"description":"Telefone é o telefone de contato da empresa.","example":"(16) 3509-5515/ (16) 9716-1410","type":"string"},"tipo":{"description":"Tipo é o tipo de pessoa jurídica. Pode ser MATRIZ ou FILIAL.","example":"MATRIZ","type":"string"},"uf":{"description":"UF é a unidade federativa (estado) da empresa.","example":"SP","type":"string"},"ultima_atualizacao":{"description":"UltimaAtualizacao é a data da última atualização dos dados na SEFAZ.","example":"2025-07-21T14:15:05.605Z","type":"string"}},"title":"Empresa contêm as informações de uma empresa.","type":"object"},"Partner":{"properties":{"Cnpj":{"type":"string"},"CodigoPais":{"type":"string"},"CodigoQualificacao":{"type":"string"},"CodigoQualificacaoRepresentante":{"type":"string"},"CpfCnpj":{"type":"string"},"CpfRepresentante":{"type":"string"},"DataEntradaSociedade":{"type":"string"},"IdentificadorSocio":{"type":"string"},"NomePaisSocio":{"type":"string"},"NomeRepresentante":{"type":"string"},"NomeSocio":{"type":"string"}},"title":"Partner represents a partner of a company in the Receita Federal database.","type":"object"},"CnpjFindHttpResponse":{"description":"A resposta contém os dados das empresas consultadas, conforme o modelo definido pelo Receitaws.","properties":{"data":{"items":{"$ref":"#/definitions/Empresa"},"type":"array"}},"title":"CnpjFindHttpResponse representa a resposta da busca de vários CNPJs na Receita.","type":"object"},"CnpjGetHttpResponse":{"description":"A resposta contém os dados da empresa consultada, conforme o modelo definido pelo Receitaws.","properties":{"data":{"$ref":"#/definitions/Empresa"}},"title":"CnpjGetHttpResponse representa a resposta da consulta de CNPJ na Receita.","type":"object"},"FiltersNFSe":{"type":"object","properties":{"createdAt":{"$ref":"#/definitions/TimeRange","description":"Filtro por data/hora de criação do registro no sistema"},"documentIdentifier":{"description":"DocumentIdentifier é o filtro por ID da NFse, que é composto por cnpjOuCpfOwner:cnpjEmissor:dataEmissão:numeroDaNota","type":"string","x-go-name":"DocumentIdentifier","example":"76564624000101:03160081000185:2025-09-24:1"},"emissionDate":{"$ref":"#/definitions/TimeRange","description":"Filtro por data/hora de emissão da nota fiscal"},"emitterCnpj":{"description":"EmitterCnpj é o filtro por CNPJ do emitente","type":"array","items":{"type":"string"},"x-go-name":"EmitterCnpj","example":["12345678000195","98765432000195"]},"isCanceled":{"description":"IsCanceled é o filtro que retorna apenas NFse canceladas","type":"string","x-go-name":"IsCanceled","example":"true"},"origin":{"description":"Origin é o filtro pela origem pela qual a NFse foi obtida","type":"string","x-go-name":"Origin","example":"nacional"},"owners":{"description":"Owners é o filtro por CNPJ/CPF dos proprietários das NFse","type":"array","items":{"type":"string"},"x-go-name":"Owners","example":["12345678000195","98765432000195"]},"takerCnpj":{"description":"TakerCnpj é o filtro por CNPJ do tomador","type":"array","items":{"type":"string"},"x-go-name":"TakerCnpj","example":["12345678000195","98765432000195"]},"ownerRoles":{"description":"OwnerRoles é o filtro por papéis dos proprietários das NFse. Os papéis possíveis são emitter, taker e intermediate.","type":"array","items":{"type":"string"},"x-go-name":"OwnerRoles","example":["emitter","taker","intermediate"]},"competence":{"description":"Competence é o filtro por data de competência da NFse, que é o ano-mês. O formato é AAAA-MM.","type":"array","items":{"type":"string"},"x-go-name":"Competence","example":["2025-09"]},"customData":{"description":"CustomData é o filtro por propriedades customizadas do documento. Aplica AND entre itens (`Name`) e OR entre os `Values` de um mesmo item.","type":"array","items":{"$ref":"#/definitions/CustomDataItemNFSe"},"x-go-name":"CustomData","example":[{"Name":"categoria","Values":["compras","insumos"]}]}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/handler/http/nfse/v1/list"},"HTTPNfseListResponseBody":{"type":"object","title":"Response representa o payload de resposta do serviço de listagem de NFS-e.","properties":{"nfses":{"description":"Lista de NFS-e retornadas na consulta.","type":"array","items":{"$ref":"#/definitions/NFSe"},"x-go-name":"Nfses"},"paginator":{"description":"Token de paginação para a próxima consulta, se houver mais resultados.","type":"string","x-go-name":"Paginator","example":"eyJwYWdlIjoyfQ=="},"total":{"description":"Total de NFS-e encontradas na consulta.","type":"integer","format":"int64","x-go-name":"Total","example":20}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/handler/http/nfse/v1/list"},"NFSe":{"type":"object","properties":{"customData":{"description":"Propriedades customizadas do documento, retornadas quando \"customData\" é solicitado em fields.","type":"array","items":{"$ref":"#/definitions/CustomDataItemNFSe"},"x-go-name":"CustomData"},"emitter":{"$ref":"#/definitions/EmitterNFSe"},"event":{"type":"array","items":{"$ref":"#/definitions/EventNFSe"},"x-go-name":"Event"},"flagErp":{"type":"string","x-go-name":"FlagErp"},"id":{"type":"string","x-go-name":"ID"},"jsonDocument":{"type":"object","x-go-name":"JSONDocument"},"origin":{"type":"string","x-go-name":"Origin"},"originalXml":{"type":"string","x-go-name":"OriginalXml"},"status":{"type":"string","x-go-name":"Status"},"taker":{"$ref":"#/definitions/TakerNFSe"},"xmlAbrasf":{"description":"XML da NFSe no padrão ABRASF em base64","type":"string","x-go-name":"XMLAbrasf"},"xmlAbrasfRtc":{"description":"XML da NFSe no padrão ABRASFRTC em base64","type":"string","x-go-name":"XMLAbrasfRTC"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/handler/http/nfse/v1/list"},"CustomDataItemNFSe":{"type":"object","properties":{"Name":{"type":"string","description":"Nome da propriedade customizada","example":"categoria"},"Values":{"type":"array","items":{"type":"string"},"description":"Valores da propriedade customizada","example":["compras","insumos"]}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/pkg/customdata"},"EmitterNFSe":{"type":"object","properties":{"emitterAddressCity":{"description":"Cidade do endereço do emitente","type":"string","x-go-name":"EmitterAddressCity"},"emitterAddressUf":{"description":"UF do endereço do emitente","type":"string","x-go-name":"EmitterAddressUf"},"emitterContactEmail":{"description":"Email de contato do emitente","type":"string","x-go-name":"EmitterContactEmail"},"emitterCpfCnpj":{"description":"CPF ou CNPJ do emitente","type":"string","x-go-name":"EmitterCpfCnpj"},"emitterInscription":{"description":"Inscrição municipal do emitente","type":"string","x-go-name":"EmitterInscription"},"emitterName":{"description":"Razão social do emitente","type":"string","x-go-name":"EmitterName"},"emitterTradingName":{"description":"Nome fantasia do emitente","type":"string","x-go-name":"EmitterTradingName"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/handler/http/nfse/v1/list"},"TakerNFSe":{"type":"object","properties":{"takerAddressCity":{"description":"Cidade do endereço do tomador","type":"string","x-go-name":"TakerAddressCity"},"takerAddressUf":{"description":"UF do endereço do tomador","type":"string","x-go-name":"TakerAddressUf"},"takerContactEmail":{"description":"Email de contato do tomador","type":"string","x-go-name":"TakerContactEmail"},"takerCpfCnpj":{"description":"CPF ou CNPJ do tomador","type":"string","x-go-name":"TakerCpfCnpj"},"takerInscription":{"description":"Inscrição municipal do tomador","type":"string","x-go-name":"TakerInscription"},"takerName":{"description":"Razão social do tomador","type":"string","x-go-name":"TakerName"},"takerTradingName":{"description":"Nome fantasia do tomador","type":"string","x-go-name":"TakerTradingName"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/handler/http/nfse/v1/list"},"EventNFSe":{"type":"object","properties":{"origin":{"description":"Origem do evento","type":"string","x-go-name":"Origin","example":"NACIONAL"},"type":{"description":"Tipo do evento","type":"string","x-go-name":"Type","example":"101101"},"xml":{"description":"XML do evento em base64","type":"string","x-go-name":"Xml"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/handler/http/nfse/v1/list"},"HTTPMdfeListResponseBody":{"type":"object","properties":{"Mdfes":{"description":"Mdfes é um array contendo os dados dos MDFes encontrados.","type":"array","items":{"$ref":"#/definitions/Mdfe"}},"Paginator":{"description":"Paginator é a hash utilizada para a próxima página de MDFes encontrados.","type":"string"},"Total":{"description":"Total é a quantidade total de MDFes obtida na listagem","type":"integer","format":"int64"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/handler/http/mdfe/v1/list"},"Mdfe":{"type":"object","properties":{"AccessKey":{"description":"Chave de acesso do MDFe.","type":"string"},"AirTransportInfo":{"description":"Informações do transporte aéreo.","type":"object"},"Code":{"description":"Código numérico do MDFe.","type":"integer","format":"int64"},"CompanyRole":{"description":"Papel da empresa no MDFe.","type":"string"},"CreatedAt":{"description":"Data de criação do MDFe na plataforma Qive.","type":"string"},"DischargeCitiesInfo":{"description":"Informações dos municípios de descarregamento.","type":"array","items":{"$ref":"#/definitions/CityInfo"}},"DischargeState":{"description":"UF de descarregamento.","type":"string"},"EmissionDate":{"description":"Data de emissão do MDFe.","type":"string"},"EmitterInfo":{"$ref":"#/definitions/EmitterInfo"},"EmitterState":{"description":"UF do emitente.","type":"string"},"EmitterType":{"description":"Tipo do emitente.","type":"integer","format":"int64"},"Events":{"description":"Eventos associados ao MDFe.","type":"array","items":{"$ref":"#/definitions/MdfeEvent"}},"IsProtocoled":{"description":"Indica se o MDFe está protocolado.","type":"boolean"},"IsSigned":{"description":"Indica se o MDFe está assinado.","type":"boolean"},"Modal":{"description":"Modal de transporte.","type":"integer","format":"int64"},"Model":{"description":"Modelo do MDFe.","type":"integer","format":"int64"},"Number":{"description":"Número do MDFe.","type":"integer","format":"int64"},"Origin":{"description":"Origem pela qual o MDFe foi obtido.","type":"string"},"Owner":{"description":"CNPJ do proprietário do MDFe.","type":"string"},"RailTransportInfo":{"description":"Informações do transporte ferroviário.","type":"object"},"RoadTransportInfo":{"description":"Informações do transporte rodoviário.","$ref":"#/definitions/RoadTransportInfo"},"RouteStates":{"description":"UFs do percurso.","type":"array","items":{"type":"string"}},"Serie":{"description":"Série do MDFe.","type":"integer","format":"int64"},"ShipTransportInfo":{"description":"Informações do transporte aquaviário.","type":"object"},"ShipmentCitiesInfo":{"description":"Informações dos municípios de carregamento.","type":"array","items":{"$ref":"#/definitions/CityInfo"}},"ShipmentState":{"description":"UF de carregamento.","type":"string"},"Status":{"description":"Status do MDFe. Valores possíveis: authorized, canceled, closed","type":"string"},"Totals":{"description":"Totalizadores do MDFe.","$ref":"#/definitions/MdfeTotals"},"TransporterType":{"description":"Tipo do transportador.","type":"integer","format":"int64"},"TravelStartsAt":{"description":"Data de início da viagem.","type":"string"},"XML":{"description":"XML do MDFe encodado em base64.","type":"string"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"RoadTransportDriver":{"type":"object","properties":{"Cpf":{"type":"string"},"Name":{"type":"string"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"RoadTransportInfCiot":{"type":"object","properties":{"Ciot":{"type":"string"},"Cnpj":{"type":"string"},"Cpf":{"type":"string"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"RoadTransportInfo":{"type":"object","properties":{"InfCiot":{"description":"Informações do CIOT (Código Identificador da Operação de Transporte).","type":"array","items":{"$ref":"#/definitions/RoadTransportInfCiot"}},"Rntrc":{"description":"Registro Nacional de Transportadores Rodoviários de Cargas.","type":"string"},"TollVouchers":{"description":"Vale-pedágios utilizados na viagem.","type":"array","items":{"$ref":"#/definitions/RoadTransportTollVoucher"}},"Traction":{"$ref":"#/definitions/RoadTransportTraction"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"RoadTransportTollVoucher":{"type":"object","properties":{"Number":{"type":"string"},"ResponsibleCnpj":{"type":"string"},"ResponsibleCpf":{"type":"string"},"SupplierCnpj":{"type":"string"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"RoadTransportTraction":{"type":"object","properties":{"Drivers":{"description":"Motoristas da viagem.","type":"array","items":{"$ref":"#/definitions/RoadTransportDriver"}},"Plate":{"description":"Placa do veículo de tração.","type":"string"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"MdfeTotals":{"type":"object","properties":{"CargoValue":{"description":"Valor total da carga. No XML são 15 posições, sendo 13 inteiras e 2 casas decimais.","type":"number","format":"double","example":73103.35},"CTe":{"description":"Quantidade total de CT-es vinculados ao MDFe.","type":"integer","format":"int64","example":1},"MDFe":{"description":"Quantidade total de MDFes vinculados.","type":"integer","format":"int64","example":0},"NFe":{"description":"Quantidade total de NF-es vinculadas ao MDFe.","type":"integer","format":"int64","example":0},"WeightUnit":{"description":"Unidade de medida do peso (ex: Kg, TON).","type":"string","example":"Kg"},"WeightValue":{"description":"Peso total da carga. No XML são 15 posições, sendo 11 inteiras e 4 casas decimais.","type":"number","format":"double","example":13171.15}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"MdfeEvent":{"type":"object","properties":{"Id":{"type":"string"},"Origin":{"type":"string"},"Type":{"type":"string"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"CityInfo":{"type":"object","properties":{"Code":{"description":"Code é o código IBGE do município.","type":"string"},"Name":{"description":"Name é o nome do município.","type":"string"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"EmitterInfo":{"type":"object","properties":{"Address":{"$ref":"#/definitions/EmitterAddress"},"Cnpj":{"type":"string"},"IE":{"type":"string"},"Name":{"type":"string"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"EmitterAddress":{"type":"object","properties":{"City":{"type":"string"},"District":{"type":"string"},"Extra":{"type":"string"},"Number":{"type":"string"},"Phone":{"type":"string"},"Street":{"type":"string"},"UF":{"type":"string"},"ZipCode":{"type":"string"}},"x-go-package":"gitlab.com/arquivei/apis/qive-api/internal/app/service/mdfe/list"},"nfe_event_response":{"type":"object","required":["status"],"properties":{"status":{"$ref":"#/definitions/Status"},"data":{"type":"object","properties":{"protocolo":{"type":"string"},"c_stat":{"type":"string"},"x_motivo":{"type":"string"}}}}},"nfe_event_request":{"type":"object","required":["access_key","owner","owner_uf","tp_evento","det_evento"],"properties":{"access_key":{"type":"string","description":"Chave de Acesso da NF-e (44 dígitos, modelo 55)."},"owner":{"type":"string","description":"CPF ou CNPJ utilizado para o envio e assinatura do evento."},"owner_uf":{"type":"string","description":"UF do contribuinte que está emitindo o evento.","example":"SP"},"n_seq_evento":{"type":"string","description":"Número Sequencial do Evento (DEFAULT = 1).","default":"1"},"tp_evento":{"type":"string","description":"Código do Tipo de Evento.","enum":["211110","211124","211128","211130","211140","211150","110001","112110","112120","112130","112140","112150","212110","212120"]},"det_evento":{"type":"object","description":"Detalhes do evento. A estrutura deste objeto é dinâmica e **obrigatoriamente** ditada pelo valor enviado em `tp_evento`. \n\nConsulte as definições abaixo na seção de **Models** para montar o payload correto:\n* Para `211110`: Utilize a estrutura de **det_evento_211110** (Apropriação de crédito presumido)\n* Para `211124`: Utilize a estrutura de **det_evento_211124** (Perecimento/Perda/Roubo)\n* etc..."}},"example":{"access_key":"35231012345678901234550010000012341000012345","owner":"12345678000190","owner_uf":"SP","tp_evento":"211130","det_evento":{"itens":[{"n_item":"10","v_ibs":"200.00","v_cbs":"45.00","g_controle_estoque":{"quantidade":"1.0000","unidade":"UN"}}]}}},"det_evento_211110":{"type":"object","description":"Schema SEFAZ RTC e211110_v1.00.","required":["itens"],"properties":{"itens":{"type":"array","minItems":1,"maxItems":990,"description":"Informações de crédito presumido por item.","items":{"type":"object","required":["n_item","v_bc_cred_pres","c_cred_pres"],"properties":{"n_item":{"type":"string","description":"Corresponde ao atributo nItem do elemento det da NF-e.","example":"1"},"v_bc_cred_pres":{"type":"string","description":"Valor da base de cálculo do item.","example":"1000.00"},"c_cred_pres":{"type":"string","pattern":"^[0-9]{2}$","description":"Código de Classificação do Crédito presumido (tabela cCredPres, Anexo IV).","example":"01"},"g_ibs_cred_pres":{"type":"object","description":"Grupo de informações de IBS.","properties":{"p_cred_pres":{"type":"string","description":"Percentual do Crédito Presumido.","example":"10.00"},"v_cred_pres":{"type":"string","description":"Valor do Crédito Presumido.","example":"100.00"}}},"g_cbs_cred_pres":{"type":"object","description":"Grupo de informações de CBS.","properties":{"p_cred_pres":{"type":"string","description":"Percentual do Crédito Presumido.","example":"10.00"},"v_cred_pres":{"type":"string","description":"Valor do Crédito Presumido.","example":"100.00"}}}}}}},"example":{"itens":[{"n_item":"1","v_bc_cred_pres":"1085.00","c_cred_pres":"02","g_ibs_cred_pres":{"p_cred_pres":"0.0000","v_cred_pres":"1.09"},"g_cbs_cred_pres":{"p_cred_pres":"0.0000","v_cred_pres":"9.77"}}]}},"det_evento_211124":{"type":"object","required":["itens"],"properties":{"itens":{"type":"array","minItems":1,"maxItems":990,"description":"Informações por item da Nota de Aquisição.","items":{"type":"object","required":["n_item","v_ibs","v_cbs","g_controle_estoque"],"properties":{"n_item":{"type":"string","description":"Corresponde ao atributo nItem do elemento det da NF-e.","example":"3"},"v_ibs":{"type":"string","description":"Valor do IBS correspondente ao perecimento.","example":"25.00"},"v_cbs":{"type":"string","description":"Valor do CBS correspondente ao perecimento.","example":"5.50"},"g_controle_estoque":{"type":"object","required":["quantidade","unidade"],"properties":{"quantidade":{"type":"string","description":"Quantidade objeto de roubo, perda, furto ou perecimento.","example":"5.0000"},"unidade":{"type":"string","description":"Unidade de medida.","maxLength":6,"minLength":1,"example":"KG"}}}}}}},"example":{"itens":[{"n_item":"3","v_ibs":"25.00","v_cbs":"5.50","g_controle_estoque":{"quantidade":"5.0000","unidade":"KG"}}]}},"det_evento_211128":{"type":"object","properties":{"ind_aceitacao":{"type":"string","description":"Indicador de concordância com a nota de crédito. 0=não; 1=sim.","enum":["0","1"],"example":"1"}},"example":{"ind_aceitacao":"1"}},"det_evento_211130":{"type":"object","required":["itens"],"properties":{"itens":{"type":"array","minItems":1,"maxItems":990,"description":"Informações de itens integrados ao ativo imobilizado.","items":{"type":"object","required":["n_item","v_ibs","v_cbs","g_controle_estoque"],"properties":{"n_item":{"type":"string","description":"Corresponde ao atributo nItem do elemento det da NF-e.","example":"10"},"v_ibs":{"type":"string","description":"Valor do IBS relativo à imobilização.","example":"200.00"},"v_cbs":{"type":"string","description":"Valor da CBS relativo à imobilização.","example":"45.00"},"g_controle_estoque":{"type":"object","required":["quantidade","unidade"],"properties":{"quantidade":{"type":"string","description":"Quantidade do item a ser imobilizado.","example":"1.0000"},"unidade":{"type":"string","description":"Unidade de medida.","maxLength":6,"minLength":1,"example":"UN"}}}}}}},"example":{"itens":[{"n_item":"10","v_ibs":"200.00","v_cbs":"45.00","g_controle_estoque":{"quantidade":"1.0000","unidade":"UN"}}]}},"det_evento_211140":{"type":"object","required":["itens"],"properties":{"itens":{"type":"array","minItems":1,"maxItems":990,"description":"Informações de consumo de combustíveis.","items":{"type":"object","required":["n_item","v_ibs","v_cbs","g_controle_estoque"],"properties":{"n_item":{"type":"string","description":"Corresponde ao atributo nItem do elemento det da NF-e.","example":"1"},"v_ibs":{"type":"string","description":"Valor do IBS relativo ao consumo de combustível.","example":"80.00"},"v_cbs":{"type":"string","description":"Valor da CBS relativo ao consumo de combustível.","example":"20.00"},"g_controle_estoque":{"type":"object","required":["quantidade","unidade"],"properties":{"quantidade":{"type":"string","description":"Quantidade de consumo do item.","example":"50.0000"},"unidade":{"type":"string","description":"Unidade de medida.","maxLength":6,"minLength":1,"example":"L"}}}}}}},"example":{"itens":[{"n_item":"1","v_ibs":"80.00","v_cbs":"20.00","g_controle_estoque":{"quantidade":"50.0000","unidade":"L"}}]}},"det_evento_211150":{"type":"object","required":["itens"],"properties":{"itens":{"type":"array","minItems":1,"maxItems":990,"description":"Informações de crédito.","items":{"type":"object","required":["n_item","v_cred_ibs","v_cred_cbs"],"properties":{"n_item":{"type":"string","description":"Corresponde ao atributo nItem do elemento det da NF-e.","example":"2"},"v_cred_ibs":{"type":"string","description":"Valor do crédito a ser apropriado de IBS.","example":"150.50"},"v_cred_cbs":{"type":"string","description":"Valor do crédito a ser apropriado de CBS.","example":"30.10"}}}}},"example":{"itens":[{"n_item":"2","v_cred_ibs":"150.50","v_cred_cbs":"30.10"}]}},"det_evento_110001":{"type":"object","required":["tp_evento_aut","n_prot_evento"],"properties":{"tp_evento_aut":{"type":"string","description":"Código do evento autorizado a ser cancelado.","example":"211130"},"n_prot_evento":{"type":"string","description":"Número do protocolo do evento autorizado.","example":"143230000123456"}},"example":{"tp_evento_aut":"211130","n_prot_evento":"143230000123456"}},"det_evento_112110":{"type":"object","required":["ind_quitacao"],"properties":{"ind_quitacao":{"type":"string","description":"Indicador de quitação. Deve ser igual a 1.","example":"1"}},"example":{"ind_quitacao":"1"}},"det_evento_112120":{"type":"object","required":["itens"],"properties":{"itens":{"type":"array","minItems":1,"maxItems":990,"description":"Informações de itens integrados ao ativo imobilizado","items":{"type":"object","required":["n_item","v_ibs","v_cbs","g_controle_estoque"],"properties":{"n_item":{"type":"string","description":"Corresponde ao atributo nItem do elemento det da NF-e.","example":"2"},"v_ibs":{"type":"string","description":"Valor do IBS correspondente à quantidade que não atendeu aos requisitos para a conversão em isenção","example":"150.50"},"v_cbs":{"type":"string","description":"Valor do CBS correspondente à quantidade que não atendeu aos requisitos para a conversão em isenção","example":"30.10"},"g_controle_estoque":{"type":"object","required":["quantidade","unidade"],"properties":{"quantidade":{"type":"string","description":"Quantidade que não atendeu os requisitos para a conversão em isenção","example":"50.0000"},"unidade":{"type":"string","description":"Unidade de medida.","maxLength":6,"minLength":1,"example":"KG"}}}}}}},"example":{"itens":[{"n_item":"2","v_ibs":"150.50","v_cbs":"30.10","g_controle_estoque":{"quantidade":"50.0000","unidade":"KG"}}]}},"det_evento_112130":{"type":"object","required":["itens"],"properties":{"itens":{"type":"array","minItems":1,"maxItems":990,"description":"Informações por item da Nota de Fornecimento","items":{"type":"object","required":["n_item","v_ibs","v_cbs","g_controle_estoque"],"properties":{"n_item":{"type":"string","description":"Corresponde ao atributo nItem do elemento det da NF-e.","example":"2"},"v_ibs":{"type":"string","description":"Valor do IBS na Nota de Fornecimento correspondente à quantidade que foi objeto de roubo, perda, furto ou perecimento.","example":"150.50"},"v_cbs":{"type":"string","description":"Valor do CBS na Nota de Fornecimento correspondente à quantidade que foi objeto de roubo, perda, furto ou perecimento.","example":"30.10"},"g_controle_estoque":{"type":"object","required":["q_perecimento","u_perecimento","v_ibs","v_cbs"],"properties":{"q_perecimento":{"type":"string","description":"Quantidade que foi objeto de roubo, perda, furto ou perecimento","example":"50.0000"},"u_perecimento":{"type":"string","description":"Unidade de medida.","maxLength":6,"minLength":1,"example":"KG"},"v_ibs":{"type":"string","description":"Valor do crédito IBS referente às aquisições a ser estornado correspondente à quantidade que foi objeto de roubo, perda, furto ou perecimento","example":"150.50"},"v_cbs":{"type":"string","description":"Valor do crédito CBS referente às aquisições a ser estornado correspondente à quantidade que foi objeto de roubo, perda, furto ou perecimento","example":"30.10"}}}}}}},"example":{"itens":[{"n_item":"2","v_ibs":"150.50","v_cbs":"30.10","g_controle_estoque":{"q_perecimento":"50.0000","u_perecimento":"KG","v_ibs":"150.50","v_cbs":"30.10"}}]}},"det_evento_112140":{"type":"object","required":["itens"],"properties":{"itens":{"type":"array","minItems":1,"maxItems":990,"description":"Informações por item da Nota de Fornecimento","items":{"type":"object","required":["n_item","v_ibs","v_cbs","g_controle_estoque"],"properties":{"n_item":{"type":"string","description":"Corresponde ao atributo nItem do elemento det da NF-e.","example":"2"},"v_ibs":{"type":"string","description":"Valor do IBS","example":"150.50"},"v_cbs":{"type":"string","description":"Valor do CBS","example":"30.10"},"g_controle_estoque":{"type":"object","required":["q_nao_fornecida","u_nao_fornecida"],"properties":{"q_nao_fornecida":{"type":"string","description":"Quantidade que não foi fornecida pelo fornecedor.","example":"50.0000"},"u_nao_fornecida":{"type":"string","description":"Unidade de medida.","maxLength":6,"minLength":1,"example":"KG"}}}}}}},"example":{"itens":[{"n_item":"2","v_ibs":"150.50","v_cbs":"30.10","g_controle_estoque":{"q_nao_fornecida":"50.0000","u_nao_fornecida":"KG"}}]}},"det_evento_112150":{"type":"object","required":["data_prev_entrega"],"properties":{"data_prev_entrega":{"type":"string","format":"date","description":"Data prevista para entrega do item.","example":"2024-12-31"}},"example":{"data_prev_entrega":"2024-12-31"}},"det_evento_212110":{"type":"object","required":["ind_aceitacao"],"properties":{"ind_aceitacao":{"type":"string","description":"Indicador de aceitação do valor de transferência de IBS para a empresa que emitiu a nota referenciada. Valores: 0=Não Aceite; 1=Aceite.","example":"1"}},"example":{"ind_aceitacao":"1"}},"det_evento_212120":{"type":"object","required":["ind_aceitacao"],"properties":{"ind_aceitacao":{"type":"string","description":"Indicador de aceitação do valor de transferência de CBS para a empresa que emitiu a nota referenciada. Valores: 0=Não Aceite; 1=Aceite.","example":"1"}},"example":{"ind_aceitacao":"1"}},"det_evento_210210":{"type":"object","description":"Manifestação do Destinatário — Ciência da Operação. Não exige nenhum campo adicional em det_evento.","properties":{},"example":{}},"det_evento_210200":{"type":"object","description":"Manifestação do Destinatário — Confirmação da Operação. Não exige nenhum campo adicional em det_evento.","properties":{},"example":{}},"det_evento_210220":{"type":"object","description":"Manifestação do Destinatário — Desconhecimento da Operação. Não exige nenhum campo adicional em det_evento.","properties":{},"example":{}},"det_evento_210240":{"type":"object","description":"Manifestação do Destinatário — Operação Não Realizada.","required":["x_just"],"properties":{"x_just":{"type":"string","description":"Justificativa do destinatário para a não realização da operação.","example":"Operação não concretizada por divergência comercial"}},"example":{"x_just":"Operação não concretizada por divergência comercial"}},"EventBatchRequest":{"type":"object","required":["owner","tp_evento","metadata","items"],"properties":{"owner":{"type":"string","description":"CNPJ/CPF do proprietário dos documentos fiscais.","example":"97548313000110"},"tp_evento":{"type":"string","description":"Tipo do evento a ser processado, de acordo com a tabela de tipos de eventos da SEFAZ. O código deve ser compatível com o tipo de documento das chaves de acesso informadas em `items` (todas as chaves de um mesmo lote devem ser do mesmo tipo de documento — ver descrição do endpoint):\n- **CT-e/CT-e OS**: `610110` (Prestação de Serviço em Desacordo) ou `610111` (Cancelamento da Prestação de Serviço em Desacordo).\n- **NF-e**: `110001` (Cancelamento de Evento) e os demais códigos suportados por `/v1/dfe/nfe/events` (ver `metadata` abaixo para a lista completa e os `det_evento_*` na seção de **Models**), exceto que aqui `owner_uf` e `n_seq_evento` não são enviados pelo cliente — `n_seq_evento` é obtido automaticamente do SOT durante a ingestão (ver `EventBatchStatusItem.n_seq_evento`).","enum":["610110","610111","110001","210210","210200","210220","210240","211110","211124","211128","211130","211140","211150","112110","112120","112130","112140","112150","212110","212120"],"example":"610110"},"metadata":{"type":"object","description":"Dados do evento utilizados para todos os itens que não possuem dados próprios. A estrutura depende do tipo de evento (tp_evento):\n\n**CT-e/CT-e OS:**\n- `610110` (Prestação de Serviço em Desacordo): `{ \"x_obs\": string }` — ex.: `{\"x_obs\": \"Divergência na descrição do serviço prestado\"}`\n- `610111` (Cancelamento da Prestação de Serviço em Desacordo): `{ \"n_prot_ev_prest_des\": string }` — ex.: `{\"n_prot_ev_prest_des\": \"135240000012345\"}`\n\n**NF-e — Cancelamento:**\n- `110001`: ex.: `{\"tp_evento_aut\": \"211130\", \"n_prot_evento\": \"143230000123456\"}`\n\n**NF-e — Manifestação do Destinatário:**\n- `210210` (Ciência da Operação): objeto vazio — ex.: `{}`\n- `210200` (Confirmação da Operação): objeto vazio — ex.: `{}`\n- `210220` (Desconhecimento da Operação): objeto vazio — ex.: `{}`\n- `210240` (Operação Não Realizada): ex.: `{\"x_just\": \"Operação não concretizada por divergência comercial\"}`\n\n**NF-e — Destinatário:**\n- `211110` (Apropriação de Crédito Presumido): ex.: `{\"itens\": [{\"n_item\": \"1\", \"v_bc_cred_pres\": \"1085.00\", \"c_cred_pres\": \"02\", \"g_ibs_cred_pres\": {\"p_cred_pres\": \"0.0000\", \"v_cred_pres\": \"1.09\"}, \"g_cbs_cred_pres\": {\"p_cred_pres\": \"0.0000\", \"v_cred_pres\": \"9.77\"}}]}`\n- `211124` (Roubo/Perda/Transp. Adquirente): ex.: `{\"itens\": [{\"n_item\": \"3\", \"v_ibs\": \"25.00\", \"v_cbs\": \"5.50\", \"g_controle_estoque\": {\"quantidade\": \"5.0000\", \"unidade\": \"KG\"}}]}`\n- `211128` (Aceite de Débito): ex.: `{\"ind_aceitacao\": \"1\"}`\n- `211130` (Imobilização de Item): ex.: `{\"itens\": [{\"n_item\": \"10\", \"v_ibs\": \"200.00\", \"v_cbs\": \"45.00\", \"g_controle_estoque\": {\"quantidade\": \"1.0000\", \"unidade\": \"UN\"}}]}`\n- `211140` (Apropriação de Crédito de Combustível): ex.: `{\"itens\": [{\"n_item\": \"1\", \"v_ibs\": \"80.00\", \"v_cbs\": \"20.00\", \"g_controle_estoque\": {\"quantidade\": \"50.0000\", \"unidade\": \"L\"}}]}`\n- `211150` (Apropriação de Crédito de Bens): ex.: `{\"itens\": [{\"n_item\": \"2\", \"v_cred_ibs\": \"150.50\", \"v_cred_cbs\": \"30.10\"}]}`\n\n**NF-e — Emitente:**\n- `112110` (Informação de Efetivo Pagamento): ex.: `{\"ind_quitacao\": \"1\"}`\n- `112120` (Importação por conta e ordem — LC-ZFM): ex.: `{\"itens\": [{\"n_item\": \"2\", \"v_ibs\": \"150.50\", \"v_cbs\": \"30.10\", \"g_controle_estoque\": {\"quantidade\": \"50.0000\", \"unidade\": \"KG\"}}]}`\n- `112130` (Perecimento): ex.: `{\"itens\": [{\"n_item\": \"2\", \"v_ibs\": \"150.50\", \"v_cbs\": \"30.10\", \"g_controle_estoque\": {\"q_perecimento\": \"50.0000\", \"u_perecimento\": \"KG\", \"v_ibs\": \"150.50\", \"v_cbs\": \"30.10\"}}]}`\n- `112140` (Fornecimento Não Realizado): ex.: `{\"itens\": [{\"n_item\": \"2\", \"v_ibs\": \"150.50\", \"v_cbs\": \"30.10\", \"g_controle_estoque\": {\"q_nao_fornecida\": \"50.0000\", \"u_nao_fornecida\": \"KG\"}}]}`\n- `112150` (Data Prevista de Entrega): ex.: `{\"data_prev_entrega\": \"2024-12-31\"}`\n\n**NF-e — Sucessora:**\n- `212110` (Transferência de Crédito IBS): ex.: `{\"ind_aceitacao\": \"1\"}`\n- `212120` (Transferência de Crédito CBS): ex.: `{\"ind_aceitacao\": \"1\"}`\n\nConsulte as definições `det_evento_*` na seção de **Models** para o schema completo de cada código.","additionalProperties":true,"example":{"x_obs":"Divergência na descrição do serviço prestado"}},"items":{"type":"object","description":"Mapa de itens do lote. A chave é a chave de acesso do documento fiscal e o valor é opcional — se informado, substitui o metadata genérico para aquele item, com a mesma estrutura descrita em `metadata` (depende do `tp_evento` do lote). Todas as chaves devem ser do mesmo tipo de documento (CT-e, CT-e OS ou NF-e, nunca uma mistura) — o tipo é identificado automaticamente pela posição 20-22 da chave de acesso (`57`=CT-e, `67`=CT-e OS, `55`=NF-e).","additionalProperties":{"type":"object","additionalProperties":true},"example":{"35241297548313000110570010000123451234567890":null,"35241297548313000110570010000123451234567891":{"x_obs":"Observação específica deste item"}}}}},"EventBatchProcessResponse":{"type":"object","properties":{"status":{"type":"object","properties":{"code":{"type":"integer","description":"Código HTTP da resposta.","example":200},"message":{"type":"string","description":"Mensagem descritiva do status.","example":"OK"}}},"data":{"type":"object","properties":{"event_batch_id":{"type":"string","description":"Identificador único do lote de eventos criado para processamento assíncrono.","example":"1913d63a-a646-4dda-b764-effdb19e4b0e"}}}}},"EventBatchStatusResponse":{"type":"object","properties":{"status":{"type":"object","properties":{"code":{"type":"integer","description":"Código HTTP da resposta.","example":200},"message":{"type":"string","description":"Mensagem descritiva do status.","example":"OK"}}},"data":{"$ref":"#/definitions/EventBatchStatusData"}}},"EventBatchStatusData":{"type":"object","properties":{"id":{"type":"string","description":"Identificador único do lote de eventos.","example":"903be0d9-97f0-4e3e-a19e-210cec23d173"},"owner":{"type":"string","description":"CNPJ/CPF do proprietário dos documentos fiscais.","example":"97548313000110"},"tp_evento":{"type":"string","description":"Tipo do evento processado. Ver a descrição de `tp_evento` em EventBatchRequest para a lista completa de códigos suportados (CT-e/CT-e OS e NF-e).","enum":["610110","610111","110001","210210","210200","210220","210240","211110","211124","211128","211130","211140","211150","112110","112120","112130","112140","112150","212110","212120"],"example":"610110"},"metadata":{"type":"object","description":"Metadados do evento utilizados como padrão para os itens do lote.","additionalProperties":true},"total_items":{"type":"integer","description":"Total de itens no lote.","example":10},"processed_items":{"type":"integer","description":"Total de itens já processados.","example":7},"status":{"type":"string","description":"Status atual do lote.","example":"done"},"error":{"type":"string","description":"Mensagem de erro do lote, caso tenha ocorrido algum problema."},"items":{"type":"array","description":"Lista de itens do lote com seus respectivos status.","items":{"$ref":"#/definitions/EventBatchStatusItem"}}}},"EventBatchStatusItem":{"type":"object","properties":{"id":{"type":"string","description":"Identificador único do item.","example":"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"},"access_key":{"type":"string","description":"Chave de acesso do documento fiscal.","example":"35241297548313000110550010000123451234567890"},"doc_type":{"type":"string","description":"Tipo do documento fiscal, identificado automaticamente pela posição 20-22 da chave de acesso: `cte` (código `57`), `cteos` (código `67`) ou `nfe` (código `55`).","enum":["cte","cteos","nfe"],"example":"cte"},"metadata":{"type":"object","description":"Metadados do evento para este item específico.","additionalProperties":true},"status":{"type":"string","description":"Status do processamento deste item.","example":"done"},"x_motivo":{"type":"string","description":"Motivo retornado pela SEFAZ para este item.","example":"Evento registrado e vinculado a CT-e"},"c_stat":{"type":"string","description":"Código de status retornado pela SEFAZ.","example":"135"},"protocolo":{"type":"string","description":"Número do protocolo de autorização do evento.","example":"135240000012345"},"n_seq_evento":{"type":"string","description":"Número Sequencial do Evento (nSeqEvento). Aplicável apenas a itens `doc_type=nfe` — para CT-e/CT-e OS este campo vem vazio. É obtido automaticamente do SOT (Source of Truth) no momento da ingestão do item, com base no histórico de eventos já registrados para a chave de acesso e o `tp_evento` do lote — não é necessário (nem possível) informá-lo na requisição. Este valor é apenas propagado ao Sefaz, não há verificação de que o Sefaz de fato o aceitou (`c_stat`/`x_motivo` refletem o resultado real do envio).","example":"1"},"error":{"type":"string","description":"Mensagem de erro para este item, caso tenha ocorrido algum problema."}}},"EventBatchErrorResponse":{"type":"object","properties":{"status":{"type":"object","properties":{"code":{"type":"integer","description":"Código HTTP do erro.","example":400},"message":{"type":"string","description":"Texto descritivo do status HTTP.","example":"Bad Request"}}},"error":{"type":"object","properties":{"code":{"type":"string","description":"Código interno do erro. Valores possíveis: `INVALID_METADATA_FORMAT` (metadata não é um objeto), `INVALID_ITEMS_FORMAT` (items não é um objeto), `ITEMS_COUNT_IS_LESS_THAN_ONE` (lote sem itens) e `ITEMS_COUNT_IS_GREATER_THAN_THE_LIMIT` (lote acima do limite de itens permitido). Pode vir vazio para outros erros de validação.","enum":["INVALID_METADATA_FORMAT","INVALID_ITEMS_FORMAT","ITEMS_COUNT_IS_LESS_THAN_ONE","ITEMS_COUNT_IS_GREATER_THAN_THE_LIMIT"],"example":"ITEMS_COUNT_IS_LESS_THAN_ONE"},"message":{"type":"string","description":"Mensagem descritiva do erro.","example":"Não foi possível processar os dados da requisição."}}},"request_id":{"type":"string","description":"Identificador único da requisição para rastreamento.","example":"01HX5YBZSP0000000000000000"}}},"HTTPReceiptListRequestBodyV1":{"type":"object","properties":{"Fields":{"description":"Fields são os campos que podem ser retornados na resposta, sensível a caixa. Caso nenhum seja passado, o padrão será \"Identifier\", \"Source\", \"PaymentDate\" e \"Amount\". Valor desconhecido retorna 400 citando o valor recebido.","type":"array","items":{"type":"string","enum":["Identifier","Source","PaymentDate","Amount","CurrencyCode","CodeAuth","BankSlipNumber","DueDate","Payer","Receiver","EncodedPdf"]},"example":["Identifier","Amount","Source","PaymentDate","CurrencyCode","CodeAuth","BankSlipNumber","DueDate","Payer","Receiver","EncodedPdf"]},"Filters":{"$ref":"#/definitions/FiltersReceiptV1"},"Limit":{"description":"Limit é o tamanho da página, e não o teto do resultado: Total continua contando o conjunto filtrado inteiro. Padrão 50, máximo 500 (acima disso é limitado, não rejeitado). Com \"EncodedPdf\" em Fields e sem Limit, assume a quantidade de identificadores pedidos em Filters.Identifier.","type":"integer","format":"int64","example":50},"Paginator":{"description":"Paginator é o cursor opaco devolvido pela página anterior. Vazio ou ausente significa a primeira página. Não é número de página nem offset, e não é intercambiável com o token de Identifier.","type":"string","example":""}}},"FiltersReceiptV1":{"type":"object","properties":{"Identifier":{"type":"array","items":{"type":"string"},"description":"Filtro por identificador do comprovante. É sempre uma lista, mesmo para um único comprovante. Obrigatório quando \"EncodedPdf\" estiver em Fields, e nesse caso a quantidade de identificadores é limitada (2 em produção). Combinado com outro filtro, um resultado vazio retorna 404 em vez de lista vazia.","example":["ypVSWL_Cib9xU5VdCgCUTJvPNpvuWKPgfRfU8vMNPqiglrRVhQ","bNrCAcsaGUsKpzzOkIsgfiwKjNOKzroZjpAb4_MFAJnvqeFV"]},"PaymentDate":{"$ref":"#/definitions/TimeRangeReceiptV1","description":"Intervalo inclusivo de data de pagamento, no formato YYYY-MM-DD"},"ReceiverDocument":{"type":"array","items":{"type":"string"},"description":"Filtro por CPF/CNPJ do recebedor. A pontuação é normalizada e as letras sobem para maiúsculas, para casar CNPJ alfanumérico. Cada documento é validado com dígito verificador: um valor inválido retorna 400.","example":["22222222000191","12345678909"]},"Amount":{"$ref":"#/definitions/AmountRangeReceiptV1","description":"Intervalo inclusivo de valor pago"}}},"TimeRangeReceiptV1":{"type":"object","properties":{"From":{"type":"string","format":"date","description":"From é o início do intervalo, inclusivo, no formato YYYY-MM-DD.","example":"2024-04-01"},"To":{"type":"string","format":"date","description":"To é o fim do intervalo, inclusivo, no formato YYYY-MM-DD.","example":"2024-05-10"}}},"AmountRangeReceiptV1":{"type":"object","properties":{"From":{"type":"number","format":"double","description":"From é o valor mínimo, inclusivo.","example":100},"To":{"type":"number","format":"double","description":"To é o valor máximo, inclusivo.","example":150}}},"HTTPReceiptListResponseBodyV1":{"type":"object","properties":{"Receipts":{"type":"array","items":{"$ref":"#/definitions/ReceiptV1"},"description":"Receipts é um array contendo os comprovantes encontrados. Só os campos pedidos em Fields são devolvidos."},"Paginator":{"type":"string","description":"Paginator é o cursor da próxima página. Vazio significa fim da listagem. Sendo cursor e não offset, uma linha inserida durante a paginação não faz páginas repetirem nem pularem registros.","example":"pTnnPsUwBq0GEduCzBT33YvFiZFAugZply48ayKIzA_Njx8pRTFE1iftCCnnK6-mxsCkmQ_4M3u4Xm4xe_wN"},"Total":{"type":"integer","format":"int64","description":"Total é a quantidade de comprovantes que casam com os filtros, ignorando Paginator e Limit.","example":26}}},"ReceiptV1":{"type":"object","properties":{"Identifier":{"type":"string","description":"Identificador opaco e estável do comprovante. Não deve ser interpretado, apenas armazenado e reenviado em Filters.Identifier.","example":"ypVSWL_Cib9xU5VdCgCUTJvPNpvuWKPgfRfU8vMNPqiglrRVhQ"},"Source":{"type":"string","description":"Origem do comprovante. \"manual\" para comprovantes enviados pelo cliente; \"automatico\" para comprovantes capturados pela conexão bancária.","enum":["manual","automatico"],"example":"manual"},"PaymentDate":{"type":"string","description":"Data em que o pagamento foi efetuado, no formato YYYY-MM-DD. String vazia quando a data não está preenchida.","example":"2025-09-12"},"Amount":{"type":"number","format":"double","description":"Valor pago.","example":725.72},"CurrencyCode":{"type":"string","description":"Sempre string vazia. O campo é mantido no contrato desde a primeira versão do endpoint.","example":""},"CodeAuth":{"type":"string","description":"Código de autenticação bancária do pagamento. Vem vazio quando a origem não o fornece.","example":"aaaaaaaaxfdfgh"},"BankSlipNumber":{"type":"string","description":"Linha digitável do boleto pago. Vem vazia quando o pagamento não tem boleto — é ausência legítima, e o registro aparece normalmente na listagem e no Total.","example":"34191090084550688091811216710001715020000072572"},"DueDate":{"type":"string","description":"Data de vencimento do boleto, no formato YYYY-MM-DD. String vazia quando a data não está preenchida.","example":"2026-07-09"},"Payer":{"$ref":"#/definitions/PayerReceiptV1"},"Receiver":{"$ref":"#/definitions/ReceiverReceiptV1"},"EncodedPdf":{"type":"string","format":"byte","description":"Comprovante em PDF, codificado em Base64, no layout padrão da Qive.","example":"JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBl..."}}},"PayerReceiptV1":{"type":"object","description":"Dados do pagador.","properties":{"Name":{"type":"string","description":"Razão social ou nome do pagador.","example":"CJR CONSTRUTORA LTDA"},"Document":{"type":"string","description":"CNPJ ou CPF do pagador.","example":"03160081000185"},"DocType":{"type":"string","description":"Tipo do documento do pagador: \"CNPJ\", \"CPF\", ou vazio quando o documento não permite classificar.","example":"CNPJ"},"BankBranch":{"type":"string","description":"Agência bancária de origem do pagamento.","example":""},"BankAccount":{"type":"string","description":"Conta bancária de origem do pagamento.","example":""},"BankCode":{"type":"string","description":"Código do banco de origem do pagamento.","example":"001"},"BankName":{"type":"string","description":"Nome do banco de origem do pagamento.","example":"Banco do Brasil S.A."}}},"ReceiverReceiptV1":{"type":"object","description":"Dados do recebedor.","properties":{"Name":{"type":"string","description":"Razão social ou nome do recebedor.","example":"Sotreq Fidc Responsabilidade"},"Document":{"type":"string","description":"CNPJ ou CPF do recebedor.","example":"52100879000147"},"DocType":{"type":"string","description":"Tipo do documento do recebedor: \"CNPJ\", \"CPF\", ou vazio quando o documento não permite classificar.","example":"CNPJ"},"BankBranch":{"type":"string","description":"Agência bancária do recebedor.","example":""},"BankAccount":{"type":"string","description":"Conta bancária do recebedor.","example":""}}},"HTTPReceiptResponseErrorV1":{"type":"object","properties":{"error":{"$ref":"#/definitions/ErrorDescriptionReceiptV1"}}},"ErrorDescriptionReceiptV1":{"type":"object","properties":{"code":{"type":"string","description":"Code é uma string que informa o tipo de erro. Valores possíveis: BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, UNPROCESSABLE_ENTITY, BAD_GATEWAY, INTERNAL_ERROR.","example":"BAD_GATEWAY"},"message":{"type":"string","description":"Message é uma string que dispõe de maiores informações sobre o erro.","example":"Could not generate the receipt PDF. Please try again later."}}},"WebhookEndpointRequestV1":{"type":"object","required":["Url"],"properties":{"Url":{"type":"string","description":"URL de entrega, `https` na porta `443`.","example":"https://erp.exemplo.com.br/webhooks/qive"}}},"WebhookEndpointCreatedV1":{"type":"object","properties":{"Id":{"type":"string","description":"Identificador do endpoint.","format":"uuid","example":"0b9f6e2a-3c41-4d8e-9a57-2f1c6d8e4b10"},"Secret":{"type":"string","description":"Segredo do endpoint, prefixado com `whsec_`. Devolvido só no cadastro.","example":"whsec_4f9a1c2e7b3d8a6f0e5c9b2a1d7e3f8c6b0a9d4e2f7c1b8a3e6d0f5c9a2b7e4d"},"Url":{"type":"string","description":"URL de entrega, `https` na porta `443`.","example":"https://erp.exemplo.com.br/webhooks/qive"},"Status":{"type":"string","description":"Estado de entrega do endpoint. `active`: recebe notificações. `unreachable`: desativado após falhas consecutivas; reative com `POST /v1/webhooks/endpoints/{id}/reactivate`.","enum":["active","unreachable"],"example":"active"},"VerifiedAt":{"type":"string","description":"Data e hora (RFC 3339, UTC) da última verificação da URL.","format":"date-time","example":"2026-10-05T12:00:00Z"},"CreatedAt":{"type":"string","description":"Data e hora (RFC 3339, UTC) do cadastro.","format":"date-time","example":"2026-10-05T12:00:00Z"},"UpdatedAt":{"type":"string","description":"Data e hora (RFC 3339, UTC) da última alteração.","format":"date-time","example":"2026-10-05T12:00:00Z"}}},"WebhookEndpointV1":{"type":"object","properties":{"Id":{"type":"string","description":"Identificador do endpoint.","format":"uuid","example":"0b9f6e2a-3c41-4d8e-9a57-2f1c6d8e4b10"},"Url":{"type":"string","description":"URL de entrega, `https` na porta `443`.","example":"https://erp.exemplo.com.br/webhooks/qive"},"Status":{"type":"string","description":"Estado de entrega do endpoint. `active`: recebe notificações. `unreachable`: desativado após falhas consecutivas; reative com `POST /v1/webhooks/endpoints/{id}/reactivate`.","enum":["active","unreachable"],"example":"active"},"ConsecutiveFailures":{"type":"integer","description":"Quantidade de falhas de entrega consecutivas. Volta a 0 numa entrega bem-sucedida.","example":0},"LastFailureAt":{"type":"string","description":"Data e hora (RFC 3339, UTC) da última falha de entrega. `null` se nunca falhou.","format":"date-time","x-nullable":true},"LastStatusCode":{"type":"integer","description":"Status HTTP recebido na última falha de entrega. `null` se nunca falhou ou se a falha não teve resposta HTTP.","x-nullable":true},"VerifiedAt":{"type":"string","description":"Data e hora (RFC 3339, UTC) da última verificação da URL.","format":"date-time","example":"2026-10-05T12:00:00Z"},"CreatedAt":{"type":"string","description":"Data e hora (RFC 3339, UTC) do cadastro.","format":"date-time","example":"2026-10-05T12:00:00Z"},"UpdatedAt":{"type":"string","description":"Data e hora (RFC 3339, UTC) da última alteração.","format":"date-time","example":"2026-10-05T12:00:00Z"}}},"WebhookEndpointListV1":{"type":"object","properties":{"Endpoints":{"type":"array","description":"Endpoints da página.","items":{"$ref":"#/definitions/WebhookEndpointV1"}},"Total":{"type":"integer","description":"Total de registros da conta, não o tamanho da página.","example":1},"Page":{"type":"integer","description":"Página devolvida.","example":1},"Limit":{"type":"integer","description":"Tamanho de página usado.","example":50}}},"WebhookSubscriptionRequestV1":{"type":"object","required":["Owner","DocumentType","EventType","EndpointId"],"properties":{"Owner":{"type":"string","description":"CNPJ (14 caracteres, aceita o formato alfanumérico) ou CPF (11 dígitos) dos documentos notificados, sem pontuação. Precisa estar entre os autorizados para as credenciais utilizadas.","example":"19427033000140"},"DocumentType":{"type":"string","description":"Tipo de documento fiscal. Valores aceitos em `GET /v1/webhooks/metadata`.","enum":["nfe"],"example":"nfe"},"EventType":{"type":"string","description":"Evento notificado. `document.received`: documento recebido. `document.canceled`: documento cancelado.","enum":["document.received","document.canceled"],"example":"document.received"},"EndpointId":{"type":"string","description":"Identificador do endpoint que recebe as notificações.","format":"uuid","example":"0b9f6e2a-3c41-4d8e-9a57-2f1c6d8e4b10"}}},"WebhookSubscriptionV1":{"type":"object","properties":{"Id":{"type":"string","description":"Identificador da subscription.","format":"uuid","example":"7c2d1e4f-5a6b-4c3d-8e9f-0a1b2c3d4e5f"},"Owner":{"type":"string","description":"CNPJ (14 caracteres, aceita o formato alfanumérico) ou CPF (11 dígitos) dos documentos notificados, sem pontuação. Precisa estar entre os autorizados para as credenciais utilizadas.","example":"19427033000140"},"DocumentType":{"type":"string","description":"Tipo de documento fiscal. Valores aceitos em `GET /v1/webhooks/metadata`.","enum":["nfe"],"example":"nfe"},"EventType":{"type":"string","description":"Evento notificado. `document.received`: documento recebido. `document.canceled`: documento cancelado.","enum":["document.received","document.canceled"],"example":"document.received"},"EndpointId":{"type":"string","description":"Identificador do endpoint que recebe as notificações.","format":"uuid","example":"0b9f6e2a-3c41-4d8e-9a57-2f1c6d8e4b10"},"Active":{"type":"boolean","description":"Indica se a subscription está ativa.","example":true},"CreatedAt":{"type":"string","description":"Data e hora (RFC 3339, UTC) do cadastro.","format":"date-time","example":"2026-10-05T12:00:00Z"},"UpdatedAt":{"type":"string","description":"Data e hora (RFC 3339, UTC) da última alteração.","format":"date-time","example":"2026-10-05T12:00:00Z"}}},"WebhookSubscriptionListV1":{"type":"object","properties":{"Subscriptions":{"type":"array","description":"Subscriptions da página.","items":{"$ref":"#/definitions/WebhookSubscriptionV1"}},"Total":{"type":"integer","description":"Total de registros da conta, não o tamanho da página.","example":1},"Page":{"type":"integer","description":"Página devolvida.","example":1},"Limit":{"type":"integer","description":"Tamanho de página usado.","example":50}}},"WebhookMetadataV1":{"type":"object","properties":{"DocumentTypes":{"type":"array","description":"Tipos de documento aceitos em `DocumentType`.","items":{"type":"string"},"example":["nfe"]},"EventTypes":{"type":"array","description":"Eventos aceitos em `EventType`.","items":{"type":"string"},"example":["document.received","document.canceled"]}}},"WebhookErrorV1":{"type":"object","properties":{"error":{"$ref":"#/definitions/WebhookErrorDescriptionV1"}}},"WebhookErrorDescriptionV1":{"type":"object","properties":{"code":{"type":"string","description":"Tipo do erro. Valores possíveis: `BODY_VALIDATION_FAILED`, `INVALID_BODY_FORMAT`, `auth_header_invalid`, `endpoint_url_blocked`, `endpoint_unreachable`, `endpoint_already_exists`, `endpoint_not_found`, `endpoint_has_subscriptions`, `owner_not_authorized`, `subscription_already_exists`, `subscription_not_found`, `INTERNAL_ERROR`.","example":"endpoint_not_found"},"message":{"type":"string","description":"Descrição do erro.","example":"endpoint não encontrado"},"context":{"type":"object","description":"Contexto do erro: `request_id` e `trace_id` para suporte e, em erros de validação, `validation` com os campos e as regras que falharam.","additionalProperties":true}}},"WebhookGatewayErrorV1":{"type":"object","properties":{"error":{"type":"string","description":"Descrição do erro.","example":"Unauthorized. Invalid X-API-KEY or X-API-ID."},"status":{"type":"object","description":"Status HTTP e texto correspondente.","properties":{"code":{"type":"integer","example":401},"message":{"type":"string","example":"Unauthorized"}}}}}}}