{
  "openapi": "3.1.0",
  "info": {
    "title": "API de Ticketbai WS (TicketBAI y Verifactu)",
    "version": "1.0.0",
    "description": "API REST para emitir facturas **TicketBAI** (Araba, Bizkaia/Batuz y Gipuzkoa) y **Verifactu** (AEAT) desde cualquier tienda online, TPV o ERP. Ticketbai WS genera y firma el XML, lo encadena, lo envía a Hacienda y devuelve la huella, la URL de cotejo y el código QR.\n\n## Entornos\n- **Pruebas:** `https://api-test.ticketbaiws.eus` (los envíos van al entorno de pruebas de Hacienda, sin validez fiscal).\n- **Producción:** `https://api.ticketbaiws.eus`.\nAlgunos métodos de gestión (empresas, licencias, webhooks, validación de NIF) solo existen en producción.\n\n## Autenticación\nTodas las peticiones llevan dos cabeceras: `Token` (token de la empresa para ese entorno, en el área privada) y `Nif` (NIF del emisor). El cuerpo va en JSON (`Content-Type: application/json`).\n\nExcepción: los métodos de **empresas y licencias** (gestión de tu cuenta) usan el **token de desarrollador** de la cuenta de cliente y el NIF de la cuenta, no los de una empresa.\n\n## Respuestas\nLa API responde con HTTP 200 y un objeto `{ \"result\", \"return\", \"msg\" }`. `result` vale `OK`, `PENDING` (Verifactu: aceptada y en cola de envío) o `ERROR` (motivos en `msg`). Comprueba siempre `result`, no solo el código HTTP.\n\n## Envío a Hacienda\nEl envío se hace en segundo plano: consulta el estado con `GET /tbai/` o configura un webhook. En `POST /tbai/` puedes pedir `\"sincrono\": true` para esperar la respuesta de Hacienda. Los importes de las líneas van **sin IVA**.\n\n## Límites\nSi se supera el límite de peticiones la API devuelve HTTP 429. Haz reintentos con espera creciente (backoff) y no consultes en bucle.\n\nMás ayuda: [guía rápida](https://ticketbaiws.eus/es/desarrolladores/guia-rapida/), [ejemplos](https://ticketbaiws.eus/es/desarrolladores/ejemplos/) y [terminal de pruebas](https://ticketbaiws.eus/es/desarrolladores/terminal/).\n",
    "contact": {
      "name": "Soporte Ticketbai WS",
      "email": "soporte@ticketbaiws.eus",
      "url": "https://ticketbaiws.eus/es/contacto/"
    },
    "termsOfService": "https://ticketbaiws.eus/es/condiciones-de-compra/"
  },
  "externalDocs": {
    "description": "Documentación de la API",
    "url": "https://ticketbaiws.eus/es/documentacion-api/"
  },
  "servers": [
    {
      "url": "https://api-test.ticketbaiws.eus",
      "description": "Pruebas (sin validez fiscal)"
    },
    {
      "url": "https://api.ticketbaiws.eus",
      "description": "Producción"
    }
  ],
  "security": [
    {
      "Token": [],
      "Nif": []
    }
  ],
  "tags": [
    {
      "name": "Facturas TicketBAI / Verifactu"
    },
    {
      "name": "Verifactu: documento de representación"
    },
    {
      "name": "Batuz Bizkaia (LROE)"
    },
    {
      "name": "Webhooks, empresas y licencias"
    },
    {
      "name": "Otros"
    }
  ],
  "paths": {
    "/tbai/": {
      "post": {
        "operationId": "ticketbaiPost",
        "summary": "Nueva factura TicketBAI / Verifactu",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Este método permite enviar una factura a la hacienda correspondiente y devolverá la huella, la imagen código QR en base64 y la URL de verificación de la factura que contiene el QR. El entorno de test hace los envíos al entorno de pruebas de la hacienda correspondiente. Funciona con las tres haciendas vascas y con la Agencia Tributaria AEAT (Verifactu)\n\nSubsanación de facturas: Para subsanar o modificar facturas notificadas con avisos o errores, se debe realizar un nuevo envío (con los datos corregidos) activando el parámetro ZUZENDU o SUBSANAR a true . (*) La serie, el número y el importe total de la factura no pueden ser modificados, deben ser los mismos que contenía la factura original. (en Bizkaia, para las facturas rechazadas por Batuz, la corrección se envía por el subcapítulo 1.2 del LROE y conserva la huella y el QR de la factura original; para cambiar una factura ya aceptada, emite una rectificativa)\n\nEl mismo método está disponible como `/verifactu/` (alias).",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/ticketbai-post/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fecha": {
                    "type": "string",
                    "description": "Fecha de emisión de la factura en formato dd/mm/yyyy",
                    "example": "13/11/2021"
                  },
                  "hora": {
                    "type": "string",
                    "description": "Hora de emisión de la factura en formato HH:MM:SS",
                    "example": "12:14:00"
                  },
                  "fecha_operacion": {
                    "type": "string",
                    "description": "Fecha de la operación en formato dd/mm/yyyy",
                    "example": "12/11/2021"
                  },
                  "nif": {
                    "type": "string",
                    "description": "NIF del cliente al que se le emite la factura",
                    "example": "B01000012"
                  },
                  "tipo_documento": {
                    "type": "string",
                    "description": "Tipo de documento identificativo para clientes extranjeros. Por defecto 02 para intracomunitarias ó 06 para el resto.\nPosibles valores:\n02 => NIF-IVA\n03 => Pasaporte\n04 => Documento oficial de identificación expedido por el país o territorio de residencia,\n05 => Certificado de residencia\n06 => Otro documento probatorio",
                    "example": "02"
                  },
                  "simplificada": {
                    "type": "boolean",
                    "description": "Es factura simplificada. Si se define como simplificada, los datos del cliente no se requerirán.",
                    "example": true
                  },
                  "pais_cliente": {
                    "type": "string",
                    "description": "Código 2 letras del país del cliente si el NIF del cliente es extranjero (formato ISO-3166 Alpha-2 code)",
                    "example": "ES"
                  },
                  "nombre": {
                    "type": "string",
                    "description": "Nombre social del cliente al que se le emite la factura",
                    "example": "Empresa de ejemplo S.L."
                  },
                  "direccion": {
                    "type": "string",
                    "description": "Dirección de facturación del cliente al que se le emite la factura\n(*) Solo obligatorio en Álava y Gipuzkoa",
                    "example": "Calle de ejemplo 123"
                  },
                  "cp": {
                    "type": "string",
                    "description": "Código postal del cliente al que se le emite la factura\n(*) Solo obligatorio en Álava y Gipuzkoa",
                    "example": "01013"
                  },
                  "serie": {
                    "type": "string",
                    "description": "Serie de la factura.",
                    "example": "A"
                  },
                  "numero": {
                    "type": "string",
                    "description": "Número de factura",
                    "example": "2021000123"
                  },
                  "rectificativa": {
                    "type": "boolean",
                    "description": "Es factura rectificativa",
                    "example": false
                  },
                  "clave_rectificativa": {
                    "type": "string",
                    "description": "Clave de la factura rectificativa (R1, R2, R3, R4, R5). Si no se define se cogerá la R1 ó la R5 si es simplificada",
                    "example": "R1"
                  },
                  "tipo_rectificativa": {
                    "type": "string",
                    "description": "Tipo de factura rectificativa: (S)ustitutiva (I) por diferencias. Si no se define se interpretará comoI (por diferencias).Se ha habilitado el valor \"SN\" para rectificativas por sustitución sin informar el bloque ImporteRectificacionSustitutiva",
                    "example": "I"
                  },
                  "rectificadas": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "serie": {
                          "type": "string",
                          "description": "Serie de la factura que se está rectificando",
                          "example": "A"
                        },
                        "numero": {
                          "type": "string",
                          "description": "Número de factura que se está rectificando",
                          "example": "2021000100"
                        },
                        "fecha": {
                          "type": "string",
                          "description": "Fecha de la factura que se está rectificando en formato dd/mm/yyyy",
                          "example": "13/11/2021"
                        },
                        "base": {
                          "type": "number",
                          "description": "Base de la factura que se está rectificando. Solo necesario si la factura no ha sido enviada previamente a través de Ticketbai WS.",
                          "example": 100.0
                        },
                        "cuota": {
                          "type": "number",
                          "description": "Cuota de IVA de la factura que se está rectificando. Solo necesario si la factura no ha sido enviada previamente a través de Ticketbai WS.",
                          "example": 21.0
                        },
                        "recargo": {
                          "type": "number",
                          "description": "Recargo de la factura que se está rectificando. Solo necesario si la factura no ha sido enviada previamente a través de Ticketbai WS.",
                          "example": 5.2
                        }
                      },
                      "required": [
                        "serie",
                        "numero",
                        "fecha"
                      ]
                    },
                    "description": "Obligatorio si rectificativa."
                  },
                  "tipo_operacion": {
                    "type": "string",
                    "description": "El tipo de operación: servicios o bienes. En caso de no definirlo, se considerará la operación como servicios",
                    "example": "servicios"
                  },
                  "intracomunitaria": {
                    "type": "boolean",
                    "description": "Es factura intracomunitaria",
                    "example": false
                  },
                  "exportacion": {
                    "type": "boolean",
                    "description": "Es factura de exportación a fuera de la comunidad",
                    "example": false
                  },
                  "retencion": {
                    "type": "number",
                    "description": "Importe de retención aplicado",
                    "example": 0.0
                  },
                  "lineas": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "descripcion": {
                          "type": "string",
                          "description": "Descripción de la línea de la factura (opcional)",
                          "example": "Producto normal"
                        },
                        "cantidad": {
                          "type": "number",
                          "description": "Número de unidades de la línea",
                          "example": 1.0
                        },
                        "importe_unitario": {
                          "type": "number",
                          "description": "Importe SIN IVA de la línea",
                          "example": 100.0
                        },
                        "tipo_iva": {
                          "type": "number",
                          "description": "Porcentaje de IVA aplicado para la línea",
                          "example": 21.0
                        },
                        "tipo_req": {
                          "type": "number",
                          "description": "Porcentaje de recargo de equivalencia aplicado a la línea",
                          "example": 0.0
                        },
                        "descuento": {
                          "type": "number",
                          "description": "Porcentaje de descuento aplicado para la línea",
                          "example": 10.0
                        },
                        "regimen_general": {
                          "type": "boolean",
                          "description": "Indica que el concepto va en régimen general cuando el resto de la factura va en régimen simplificado o de recargo de equivalencia. Sólo se tendrá en cuenta si el flag de modo_recargo_equivalencia ó modo_regimen_simplificado está a true.",
                          "example": true
                        },
                        "epigrafe": {
                          "type": "integer",
                          "description": "Indica que el concepto va en un epígrafe específico diferente al epígrafe general definido en la ficha de empresa o diferente del definido en la factura.\nÚnicamente para personas físicas en Bizkaia (LROE 140).",
                          "example": 197210
                        }
                      },
                      "required": [
                        "cantidad",
                        "importe_unitario",
                        "tipo_iva",
                        "tipo_req"
                      ]
                    },
                    "description": "(*) Verifactu y Bizkaia no requiere el detalle de cada línea de la factura, pero sí las bases imponibles globales\nObligatorio en algunos casos."
                  },
                  "total_factura": {
                    "type": "number",
                    "description": "Importe total de la factura",
                    "example": 132.0
                  },
                  "zuzendu": {
                    "type": "boolean",
                    "description": "Modificación o reenvío de una factura que ha dado error previamente. En Bizkaia se aplica a facturas rechazadas por Batuz: se envía por el subcapítulo 1.2 del LROE y conserva la huella y el QR originales. Para cambiar una factura ya aceptada, emite una rectificativa.",
                    "example": false
                  },
                  "regimen_iva": {
                    "type": "integer",
                    "description": "Clave de régimen especial de IVA",
                    "example": 17
                  },
                  "causa_exencion": {
                    "type": "string",
                    "description": "Código de causa de exención de IVA. Si no se define, la aplicación determinará la más indicada\nOpciones:\nE1: Operaciones interiores (Artículo 20 de la ley de IVA)\nE2: Exportaciones de bienes (Artículo 21 de la ley de IVA)\nE3: Exportaciones (Buques, pesca...) (Artículo 22 de la ley de IVA)\nE4: Zonas francas, depósitos francos y regímenes aduaneros (Artículo 23 y 24 de la ley de IVA)\nE5: Operationes intracomunitarias (Artículo 25 de la ley de IVA)\nE6: Exenta por otra causa\nRL: No sujeta por reglas de localización OT: Otras causas de no-sujeción (Artículo 7 de la ley de IVA) IE: No sujeto por reglas de localización pero repercute impuesto extranjero, IPSI/IGIC o IVA VT: No sujeto, ventas realizadas por cuenta de terceros (importe no computable a efectos de IVA ni de IRPF) (*) Causas de exención no disponibles para Verifactu",
                    "example": "E6"
                  },
                  "inversion_sujeto_pasivo": {
                    "type": "boolean",
                    "description": "Factura con inversión de sujeto pasivo",
                    "example": false
                  },
                  "emitida_terceros": {
                    "type": "string",
                    "description": "Factura emitida por terceros o por destinatario. Valores posibles: N(no), T(tercero), D(destinatario)",
                    "example": "N"
                  },
                  "modo_recargo_equivalencia": {
                    "type": "boolean",
                    "description": "Operación en régimen de recargo de equivalencia",
                    "example": false
                  },
                  "modo_regimen_simplificado": {
                    "type": "boolean",
                    "description": "Operación en régimen simplificado",
                    "example": false
                  },
                  "epigrafe": {
                    "type": "string",
                    "description": "Epígrafe para la factura. Si no se informa, se enviará el epígrafe especificado en la ficha de la empresa. Este parámetro sólo es válido para personas físicas que tengan que enviar ticketbai a Bizkaia Batuz y trabajen en más de un epígrafe.",
                    "example": "165960"
                  },
                  "sincrono": {
                    "type": "boolean",
                    "default": false,
                    "description": "Si es true, espera la respuesta de Hacienda antes de responder. Por defecto el envío se hace en segundo plano (consulta el estado con GET /tbai/ o con un webhook).",
                    "example": false
                  }
                },
                "required": [
                  "fecha",
                  "hora",
                  "nif",
                  "simplificada",
                  "nombre",
                  "serie",
                  "numero",
                  "rectificativa",
                  "retencion",
                  "total_factura"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response_for_ticketbai": {
                    "summary": "Response for Ticketbai",
                    "value": {
                      "result": "OK",
                      "return": {
                        "huella_tbai": "TBAI-B01000012-131121-zG3wtCW3WlOSN-108",
                        "qr": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAIAAABEtEjdAAAABmJ...",
                        "url": "https://batuz.eus/QRTBAI/?id=TBAI-..."
                      },
                      "msg": null
                    }
                  },
                  "response_for_verifactu": {
                    "summary": "Response for Verifactu",
                    "value": {
                      "result": "OK",
                      "return": {
                        "huella": "8FA696A615A750A9EC04A273013F05EB1B092076FFD9A66EF6",
                        "qr": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAIAAABEtEjdAAAABmJ...",
                        "url": "https://prewww2.aeat.es/wlpl/TIKE-CONT/ValidarQR?..."
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "get": {
        "operationId": "ticketbaiGet",
        "summary": "Consulta factura TicketBAI",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Este método permite consultar la huella TBAI, el código QR y la URL de validación de una factura TicketBAI previamente generada. Dentro del cuerpo del return se devuelve el status actual de la factura, los posibles valores son OK, PENDING ó ERROR.\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/ticketbai-get/"
        },
        "parameters": [
          {
            "name": "serie",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "A"
            },
            "description": "Serie de la factura"
          },
          {
            "name": "numero",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2021000123"
            },
            "description": "Número de factura"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "status": "OK",
                        "huella_tbai": "TBAI-B01000012-131121-zG3wtCW3WlOSN-108",
                        "qr": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAIAAABEtEjdAAAABmJ...",
                        "url": "https://batuz.eus/QRTBAI/?id=TBAI-..."
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "delete": {
        "operationId": "ticketbaiDel",
        "summary": "Anular factura TicketBAI",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Este método permite anular un TicketBAI enviado por error PERO no se podrá enviar otra factura con el mismo número. Consulta las preguntas frecuentes de Batuz aquí\n\nLos parámetros pueden enviarse en la query string o como JSON en el cuerpo.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/ticketbai-del/"
        },
        "parameters": [
          {
            "name": "serie",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "A"
            },
            "description": "Serie de la factura"
          },
          {
            "name": "numero",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2021000123"
            },
            "description": "Número de factura"
          },
          {
            "name": "fecha",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "25/01/2026"
            },
            "description": "Fecha de emisión de la factura a anular. En caso de no incluir la fecha, se cogerá la última emitida con esa serie y número"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {},
                      "msg": "TicketBAI anulado"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/tbai-completar/": {
      "post": {
        "operationId": "tbaiCompletarPost",
        "summary": "TicketBAI - Completar factura simplificada",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Este método permite convertir una o varias facturas simplificadas en una factura completa. La factura completa deberá llevar su propio número. No se trata de una factura rectificativa aunque se trate como si fuera una de sustitución",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/tbai-completar-post/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fecha": {
                    "type": "string",
                    "description": "Fecha de la factura completa en formato dd/mm/yyyy",
                    "example": "13/11/2021"
                  },
                  "hora": {
                    "type": "string",
                    "description": "Hora de emisión de la factura completa en formato HH:MM:SS",
                    "example": "12:14:00"
                  },
                  "nif": {
                    "type": "string",
                    "description": "NIF del cliente al que se le emite la factura",
                    "example": "B01000012"
                  },
                  "pais_cliente": {
                    "type": "string",
                    "description": "Código 2 letras del país del cliente si el NIF del cliente es extranjero (formato ISO-3166 Alpha-2 code)",
                    "example": "ES"
                  },
                  "nombre": {
                    "type": "string",
                    "description": "Nombre social del cliente al que se le emite la factura",
                    "example": "Empresa de ejemplo S.L."
                  },
                  "direccion": {
                    "type": "string",
                    "description": "Dirección de facturación del cliente al que se le emite la factura",
                    "example": "Calle de ejemplo 123"
                  },
                  "cp": {
                    "type": "string",
                    "description": "Código postal del cliente al que se le emite la factura",
                    "example": "12:14:00"
                  },
                  "serie": {
                    "type": "string",
                    "description": "Serie de la factura completa",
                    "example": "A"
                  },
                  "numero": {
                    "type": "string",
                    "description": "Número de la factura completa",
                    "example": "2021000123"
                  },
                  "simplificadas": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "serie": {
                          "type": "string",
                          "description": "Serie de la factura simplificada",
                          "example": "A"
                        },
                        "numero": {
                          "type": "string",
                          "description": "Número de factura simplificada",
                          "example": "2021000100"
                        },
                        "fecha": {
                          "type": "string",
                          "description": "Fecha de la factura que se está rectificando en formato dd/mm/yyyy",
                          "example": "13/11/2021"
                        }
                      },
                      "required": [
                        "serie",
                        "numero",
                        "fecha"
                      ]
                    }
                  },
                  "intracomunitaria": {
                    "type": "boolean",
                    "description": "Es factura intracomunitaria",
                    "example": false
                  },
                  "exportacion": {
                    "type": "boolean",
                    "description": "Es factura de exportación a fuera de la comunidad",
                    "example": false
                  }
                },
                "required": [
                  "fecha",
                  "hora",
                  "nif",
                  "nombre",
                  "direccion",
                  "cp",
                  "serie",
                  "numero",
                  "simplificadas"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "huella_tbai": "TBAI-B01000012-131121-zG3wtCW3WlOSN-108",
                        "qr": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAIAAABEtEjdAAAABmJ...",
                        "url": "https://batuz.eus/QRTBAI/?id=TBAI-..."
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/tbai-list/": {
      "get": {
        "operationId": "ticketbaiListGet",
        "summary": "Listado facturas TicketBAI",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Este método devuelve el listado de facturas TicketBAI generadas entre dos fechas. El número máximo de resultados es de 250 , en caso de que haya más se deberá usar el parámetro de paginado.\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/ticketbai-list-get/"
        },
        "parameters": [
          {
            "name": "fecha_inicio",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "01/10/2021"
            },
            "description": "Fecha inicio desde la cual realizar la consulta en formato DD/MM/YYYY"
          },
          {
            "name": "fecha_fin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "31/12/2021"
            },
            "description": "Fecha fin hasta la cual realizar la consulta en formato DD/MM/YYYY"
          },
          {
            "name": "serie",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "A2023"
            },
            "description": "Facturas de una serie concreta"
          },
          {
            "name": "pagina",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 1
            },
            "description": "Página para ir recorriendo los resultados paginados. Los resultados están limitados\na 250 por página. En el parámetro count se obtiene siempre el número total de resultados obtenidos en la búsqueda y con el parámetro pagina se pueden ir recorriendo y consultando todos los resultados"
          },
          {
            "name": "json_orig",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "example": false
            },
            "description": "Incluir en los resultados el JSON de la solicitud de la factura"
          },
          {
            "name": "xml_request",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "example": false
            },
            "description": "Incluir en los resultados el XML generado en la solicitud a la hacienda foral"
          },
          {
            "name": "pedido",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "example": false
            },
            "description": "Incluir en los resultados el XML el número de pedido (variable: pedido) realizada en el envío del JSON la factura"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": [
                        {
                          "status": "OK",
                          "serie": "A",
                          "numero": "2021000123",
                          "fecha": "01/10/2021",
                          "fecha_factura": "01/10/2021",
                          "nif": "B01000012",
                          "importe": 132.1,
                          "zuzendu": false
                        },
                        {
                          "status": "OK",
                          "serie": "A",
                          "numero": "2021000123",
                          "fecha": "01/10/2021",
                          "fecha_factura": "01/10/2021",
                          "nif": "B01000012",
                          "importe": 132.1,
                          "zuzendu": false
                        },
                        {
                          "status": "OK",
                          "serie": "A",
                          "numero": "2021000123",
                          "fecha": "01/10/2021",
                          "fecha_factura": "01/10/2021",
                          "nif": "B01000012",
                          "importe": 132.1,
                          "zuzendu": false
                        },
                        {
                          "status": "OK",
                          "serie": "A",
                          "numero": "2021000123",
                          "fecha": "01/10/2021",
                          "fecha_factura": "01/10/2021",
                          "nif": "B01000012",
                          "importe": 132.1,
                          "zuzendu": false
                        }
                      ],
                      "msg": "Showing 1 to 250 of 292",
                      "count": "292"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/tbai-xml/": {
      "get": {
        "operationId": "ticketbaiXmlGet",
        "summary": "Descarga XML TicketBAI",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Este método descargarse los ficheros XML generados en la solicitud y la respuesta a la diputación correspondiente\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/ticketbai-xml-get/"
        },
        "parameters": [
          {
            "name": "serie",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "A"
            },
            "description": "Serie de la factura"
          },
          {
            "name": "numero",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2021000123"
            },
            "description": "Número de factura"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "xml_request": "<?xml version='1.0' encoding='UTF-8'?><T:TicketBai xmlns:T='urn:tick. ...",
                        "xml_response": "<?xml version='1.0' encoding='UTF-8' standalone ..."
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/facturae/": {
      "get": {
        "operationId": "facturaeGet",
        "summary": "Descarga en formato FacturaE",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Este método permite obtener una factura en formato FacturaE v3.2 (en formato Base64) que previamente se hubiera enviado a TicketBAI a través de Ticketbai WS. Para que la factura salga firmada digitalmente se deberá proporcionar un certificado digital válido de la empresa para la firma del mismo.\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/facturae-get/"
        },
        "parameters": [
          {
            "name": "serie",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "A"
            },
            "description": "Serie de la factura"
          },
          {
            "name": "numero",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2022000123"
            },
            "description": "Número de factura"
          },
          {
            "name": "cod_organo_gestor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "A01021700"
            },
            "description": "Código del órgano gestor"
          },
          {
            "name": "cod_unidad_tramitadora",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "A01021700"
            },
            "description": "Código de la unidad tramitadora"
          },
          {
            "name": "cod_oficina_contable",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "A01021700"
            },
            "description": "Código de la oficina contable"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i...",
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/tbai-pdf/": {
      "get": {
        "operationId": "tbaiPdfGet",
        "summary": "Descarga en formato PDF",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Este método permite obtener una factura en formato PDF (en formato Base64) que previamente se hubiera enviado a TicketBAI a través de Ticketbai WS\n\nLos parámetros pueden enviarse en la query string o como JSON en el cuerpo.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/tbai-pdf-get/"
        },
        "parameters": [
          {
            "name": "serie",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "A"
            },
            "description": "Serie de la factura"
          },
          {
            "name": "numero",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2024000123"
            },
            "description": "Número de factura"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": "JVBERi0xLjcKJeLjz9MKOSAwIG9iago8PCAvVHlwZSAvUGFnZSAv....",
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/status/": {
      "get": {
        "operationId": "statusGet",
        "summary": "Estado del sistema",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Este método permite ver el estado del sistema y sirve para comprobar la conectividad. En caso de que el certificado electrónico haya expirado, la licencia de ticketbai WS haya expirado o haya algún otro problema notificará un estado de ERROR.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/status-get/"
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": [],
                      "msg": "Ready"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/reset-tbai/": {
      "put": {
        "operationId": "resetTbaiPut",
        "summary": "Reset envío TBAI",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Este método permite reenviar un envío de un ticketbai que hubiera dado error previamente por el motivo que sea.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/reset-tbai-put/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "serie": {
                    "type": "string",
                    "description": "Serie de la factura",
                    "example": "A"
                  },
                  "numero": {
                    "type": "string",
                    "description": "Número de factura",
                    "example": "2021000123"
                  }
                },
                "required": [
                  "serie",
                  "numero"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {},
                      "msg": "Status changed to PENDING"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/validar-nif/": {
      "post": {
        "operationId": "validarNifPost",
        "summary": "Validar NIF en la AEAT",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Permite validar un nif con el censo de la AEAT. Verifactu exige que las facturas para una persona física se emitan con los datos (nombre + apellido + NIF) correctos. Para personas jurídicas con indicar el NIF es suficiente.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/validar-nif-post/"
        },
        "servers": [
          {
            "url": "https://api.ticketbaiws.eus",
            "description": "Solo producción"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "nif": {
                    "type": "string",
                    "description": "NIF a validar",
                    "example": "12345678Z"
                  },
                  "nombre": {
                    "type": "string",
                    "description": "Nombre + apellido para persona física, opcional para personas jurídicas\nObligatorio únicamente para personas físicas.",
                    "example": "Juan Martínez"
                  }
                },
                "required": [
                  "nif"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "nif": "12345678Z",
                        "nombre": "MARTINEZ RODRIGUEZ JUAN",
                        "resultado": "IDENTIFICADO"
                      },
                      "msg": ""
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/validar-nif-vies/": {
      "post": {
        "operationId": "validarNifViesPost",
        "summary": "Validar NIF en el VIES",
        "tags": [
          "Facturas TicketBAI / Verifactu"
        ],
        "description": "Permite verificar si un NIF está registrado en el VIES. Permite comprobar que el NIF sea correcto y si está registrado como operador intracomunitario",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/validar-nif-vies-post/"
        },
        "servers": [
          {
            "url": "https://api.ticketbaiws.eus",
            "description": "Solo producción"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "nif": {
                    "type": "string",
                    "description": "NIF a validar",
                    "example": "B12345678"
                  },
                  "pais": {
                    "type": "string",
                    "description": "Código de país",
                    "example": "ES"
                  }
                },
                "required": [
                  "nif",
                  "pais"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "nif": "12345678Z",
                        "nombre": "MARTINEZ RODRIGUEZ JUAN",
                        "resultado": "IDENTIFICADO"
                      },
                      "msg": ""
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/doc-representante/modelo/": {
      "get": {
        "operationId": "docRepresentanteModeloGet",
        "summary": "Documento Representación Verifactu - Descargar modelo",
        "tags": [
          "Verifactu: documento de representación"
        ],
        "description": "Permite descargar el modelo del documento de representación de Verifactu requerido para poder hacer envíos a Verifactu con el certificado de Ticketbai WS. Devuelve el fichero PDF con los datos precargados de la empresa y del representante en base 64.\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/doc-representante-modelo-get/"
        },
        "parameters": [
          {
            "name": "nombre_representante",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Juan Martínez Pérez"
            },
            "description": "Nomre y apellidos de la persona representante de la empresa que va a firmar el documento digitalmente. Este dato debe coincidir con el NIF de la firma digital\nObligatorio únicamente para empresas con personalidad jurídica."
          },
          {
            "name": "nif_representante",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "12345678Z"
            },
            "description": "NIF de la persona representante de la empresa que va a firmar el documento digitalmente. Este dato debe coincidir con el NIF de la firma digital\nObligatorio únicamente para empresas con personalidad jurídica."
          },
          {
            "name": "poblacion_representante",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Madrid"
            },
            "description": "Población de la persona representante de la empresa que va a firmar el documento digitalmente.\nObligatorio únicamente para empresas con personalidad jurídica."
          },
          {
            "name": "direccion_representante",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Calle Falsa 123"
            },
            "description": "Dirección de la persona representante de la empresa que va a firmar el documento digitalmente.\nObligatorio únicamente para empresas con personalidad jurídica."
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": "JVBERi0xLjcNJeLjz9MNCjE1OSAwIG9iag08PC9MaW5lYXJpemVkIDEvTCAxMzQ0MTMwL08gMTYx...",
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/doc-representante/": {
      "post": {
        "operationId": "docRepresentantePost",
        "summary": "Documento Representación Verifactu - Enviar documento",
        "tags": [
          "Verifactu: documento de representación"
        ],
        "description": "Permite cargar el modelo del documento de representación de Verifactu requerido para poder hacer envíos a Verifactu con el certificado de Ticketbai WS. Es importante que el fichero que se envíe esté firmado digitalmente por el representante de la empresa con un certificado de representante válido para la AEAT (FNMT, Izenpe...)",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/doc-representante-post/"
        },
        "servers": [
          {
            "url": "https://api.ticketbaiws.eus",
            "description": "Solo producción"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": "Documento procesado correctamente",
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "get": {
        "operationId": "docRepresentanteGet",
        "summary": "Documento Representación Verifactu - Descargar documento cargado",
        "tags": [
          "Verifactu: documento de representación"
        ],
        "description": "Permite descargar el documento de representación de Verifactu ya cargado y firmado por Ticketbai WS. Devuelve el fichero PDF en base 64.\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/doc-representante-get/"
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": "JVBERi0xLjcNJeLjz9MNCjE1OSAwIG9iag08PC9MaW5lYXJpemVkIDEvTCAxMzQ0MTMwL08gMTYx...",
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "delete": {
        "operationId": "docRepresentanteDelete",
        "summary": "Documento Representación Verifactu - Revocar documento cargado",
        "tags": [
          "Verifactu: documento de representación"
        ],
        "description": "Permite revocar el documento de representación de Verifactu previamente cargado Ticketbai WS. Esto impedirá a la empresa realizar envíos en el entorno real. Este método únicamente permite revocar el fichero siempre y cuando no se hayan hecho envíos en real, una vez se hagan en real no se permitirá la revocación del documento",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/doc-representante-delete/"
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": null,
                      "msg": "Document voided"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/epigrafes/": {
      "get": {
        "operationId": "epigrafesGet",
        "summary": "Listado epígrafes",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "Este método devuelve el listado de los epígrafes de IAE para dar de alta cuentas de Ticketbai WS para el envío de facturas de autónomos, comunidades de bienes o sociedades civiles\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/epigrafes-get/"
        },
        "servers": [
          {
            "url": "https://api.ticketbaiws.eus",
            "description": "Solo producción"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": [
                        {
                          "codigo": "101100",
                          "nombre_es": "EXPLOTACION EXTENSIVA DE GANADO BOVINO",
                          "nombre_eu": "BETABEREEN USTIAPEN ESTENSIBOA "
                        },
                        {
                          "codigo": "101200",
                          "nombre_es": "EXPLOTACION INTENSIVA DE GANADO BOVINO DE LECHE",
                          "nombre_eu": "ESNETARAKO BETABEREEN USTIAPEN SARRIA "
                        },
                        {
                          "codigo": "101300",
                          "nombre_es": "EXPLOTACION INTENSIVA DE GANADO BOVINO DE CEBO",
                          "nombre_eu": "GIZENTZEKO BETABEREEN USTIAPEN SARRIA "
                        },
                        {
                          "codigo": "102100",
                          "nombre_es": "EXPLOTACION EXTENSIVA DE GANADO OVINO",
                          "nombre_eu": "ARDI-ABEREEN USTIAPEN ESTENSIBOA "
                        },
                        {
                          "codigo": "102200",
                          "nombre_es": "EXPLOTACION INTENSIVA DE GANADO OVINO DE CRIA",
                          "nombre_eu": "HAZKUNTZARAKO ARDI-ABEREEN USTIAPEN SARRIA "
                        },
                        {
                          "codigo": "102300",
                          "nombre_es": "EXPLOTACION INTENSIVA DE GANADO OVINO DE CEBO",
                          "nombre_eu": "GIZENTZEKO ARDI-ABEREEN USTIAPEN SARRIA "
                        },
                        {
                          "codigo": "102400",
                          "nombre_es": "EXPLOTACION DE GANADO CAPRINO",
                          "nombre_eu": "AHUNTZ-ABEREEN USTIAPENA "
                        }
                      ],
                      "msg": "Ready"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/lroe-recibidas/": {
      "post": {
        "operationId": "lroeRecibidasPost",
        "summary": "LROE - Envío de facturas recibidas",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite enviar al LROE de Batuz las facturas recibidas (compras)",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-recibidas-post/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ejercicio": {
                    "type": "integer",
                    "description": "Año fiscal del ejercicio del bloque de facturas recibicas en formato yyyy",
                    "example": 2023
                  },
                  "facturas": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "fecha": {
                          "type": "string",
                          "description": "Fecha de expedición de la factura en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "fecha_operacion": {
                          "type": "string",
                          "description": "Fecha en la que se ha realizado la operación siempre que sea diferente a la fecha de expedición en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "fecha_recepcion": {
                          "type": "string",
                          "description": "Fecha de la recepción de la factura en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "nif": {
                          "type": "string",
                          "description": "NIF del emisor de la factura",
                          "example": "B01000012"
                        },
                        "tipo_documento": {
                          "type": "string",
                          "description": "Tipo de documento identificativo para proveedores extranjeros. Por defecto 02.\nPosibles valores:\n02 => NIF-IVA\n03 => Pasaporte\n04 => Documento oficial de identificación expedido por el país o territorio de residencia,\n05 => Certificado de residencia\n06 => Otro documento probatorio",
                          "example": "02"
                        },
                        "pais": {
                          "type": "string",
                          "description": "Código 2 letras del país del emisor de la factura si el NIF del proveedor es extranjero (formato ISO-3166 Alpha-2 code)",
                          "example": "ES"
                        },
                        "nombre_social": {
                          "type": "string",
                          "description": "Nombre social del proveedor que emite la factura",
                          "example": "Empresa de ejemplo S.L."
                        },
                        "serie": {
                          "type": "string",
                          "description": "Serie de factura",
                          "example": "A"
                        },
                        "num_factura": {
                          "type": "string",
                          "description": "Número de factura",
                          "example": "2023715273"
                        },
                        "importacion": {
                          "type": "boolean",
                          "description": "Es factura de importación",
                          "example": false
                        },
                        "tipo_factura": {
                          "type": "string",
                          "example": "gasto"
                        },
                        "importe_total": {
                          "type": "number",
                          "description": "Importe total de la factura IVA incluído",
                          "example": 121.0
                        },
                        "bases": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "base_imponible": {
                                "type": "number",
                                "description": "Importe SIN IVA de la base imponible",
                                "example": 100.0
                              },
                              "tipo_iva": {
                                "type": "number",
                                "description": "Porcentaje de IVA aplicado a la base imponible",
                                "example": 21.0
                              },
                              "tipo_req": {
                                "type": "number",
                                "description": "Porcentaje de recargo de equivalencia aplicado a la línea",
                                "example": 0.0
                              },
                              "tipo": {
                                "type": "string",
                                "description": "Valores posibles:\ncompras (Compra de bienes corrientes)\ninversion (Adquisición de bienes de inversión)\ngasto (Gastos)\n(para especificar un valor diferente al global de la factura).",
                                "example": "inversion"
                              },
                              "cuota_soportada": {
                                "type": "number",
                                "description": "Si no se define, el valor de la cuota soportada se calculará automáticamente. En caso de\nespecificar el valor de la cuota soportada, es necesario especificar asimismo el valor de la\ncuota deducible",
                                "example": 21.0
                              },
                              "cuota_deducible": {
                                "type": "number",
                                "description": "Si se define, el parámetro de prorrata no tiene efecto. Parámetro obligatorio si se desea\nespecificar el valor de la cuota soportada",
                                "example": 10.5
                              },
                              "epigrafe": {
                                "type": "integer",
                                "description": "Indica que el concepto va en un epígrafe específico diferente al epígrafe general definido en la ficha de empresa o diferente del definido en la factura.\nÚnicamente para personas físicas en Bizkaia (LROE 140).",
                                "example": 197210
                              },
                              "bien_afecto_irpf_iva": {
                                "type": "integer",
                                "description": "Identificador que especifica si se trata de una adquisición de un bien afecto al IRPF o de un bien de inversión de IVA. Si no se informa este campo se entenderá que tiene valor «N». Valores posibles: I, R, ó N\nÚnicamente para personas físicas en Bizkaia (LROE 140)."
                              },
                              "importe_gasto_irpf": {
                                "type": "integer",
                                "description": "Importe del gasto deducible en el IRPF\nÚnicamente para personas físicas en Bizkaia (LROE 140)."
                              },
                              "concepto_contable": {
                                "type": "integer",
                                "description": "Clave que identifica el subgrupo o la cuenta contable\nÚnicamente para personas físicas en Bizkaia (LROE 140).",
                                "example": 600
                              },
                              "referencia_bien": {
                                "type": "integer",
                                "description": "Referencia que le corresponde al bien afecto sobre el que puede recaer el gasto al que hace referencia la cuenta contable, debiendo coincidir con la referencia que aparece en el capítulo de bienes afectos o de inversión\nÚnicamente para personas físicas en Bizkaia (LROE 140)."
                              },
                              "modo_recargo_simplificado": {
                                "type": "integer",
                                "description": "Identificador que especifica si se trata de una factura recibida por un o una contribuyente en régimen simplificado o en régimen de recargo de equivalencia. Si no se informa este campo se entenderá que tiene valor «N». Opciones posibles: E (Recargo equivalencia), N (Régimen general), S (Régimen simplificado)\nÚnicamente para personas físicas en Bizkaia (LROE 140)."
                              }
                            },
                            "required": [
                              "base_imponible",
                              "tipo_iva",
                              "tipo_req"
                            ]
                          },
                          "description": "Bases imponibles de la factura"
                        },
                        "regimen_iva": {
                          "type": "integer",
                          "description": "Clave de régimen especial de IVA",
                          "example": 17
                        },
                        "regimen_iva_2": {
                          "type": "integer",
                          "description": "Clave de régimen especial de IVA 2",
                          "example": 17
                        },
                        "regimen_iva_3": {
                          "type": "integer",
                          "description": "Clave de régimen especial de IVA 3",
                          "example": 17
                        },
                        "inversion_sujeto_pasivo": {
                          "type": "boolean",
                          "description": "Factura con inversión de sujeto pasivo",
                          "example": false
                        },
                        "rectificativa": {
                          "type": "boolean",
                          "description": "Es factura rectificativa",
                          "example": false
                        },
                        "serie_factura_rectificada": {
                          "type": "string",
                          "description": "Serie de factura que se está rectificando",
                          "example": "A"
                        },
                        "num_factura_rectificada": {
                          "type": "string",
                          "description": "Número de factura que se está rectificando\nObligatorio si rectificativa.",
                          "example": "2023000100"
                        },
                        "fecha_rectificada": {
                          "type": "string",
                          "description": "Fecha de la factura que se está rectificando en formato dd/mm/yyyy\nObligatorio si rectificativa.",
                          "example": "13/11/2023"
                        },
                        "clave_rectificativa": {
                          "type": "string",
                          "description": "Clave de la factura rectificativa (R1, R2, R3, R4, R5). Si no se define se cogerá la R1 ó la R5 si es simplificada",
                          "example": "R1"
                        },
                        "tipo_rectificativa": {
                          "type": "string",
                          "description": "Tipo de factura rectificativa: (S)ustitutiva (I) por diferencias. Si no se define se interpretará comoI (por diferencias)",
                          "example": "I"
                        },
                        "base_rectificada": {
                          "type": "number",
                          "description": "Base de la factura que se está rectificando\nObligatorio si rectificativa.",
                          "example": 100.0
                        },
                        "cuota_rectificada": {
                          "type": "number",
                          "description": "Cuota de IVA de la factura que se está rectificando.\nObligatorio si rectificativa.",
                          "example": 21.0
                        },
                        "prorrata": {
                          "type": "integer",
                          "description": "Porcentaje del importe deducible de la factura",
                          "example": 92
                        },
                        "clave_factura": {
                          "type": "string",
                          "description": "Clave de tipo de factura. Por defecto F1.\nValores posibles:\nF1 - Factura con identificación del destinatario o de la destinataria\nF2 - Factura sin identificación del destinatario o de la destinataria\nF3 - Factura emitida en sustitución de facturas simplificadas y declaradas con anterioridad\nF4 - Asiento resumen de facturas\nF5 - Importaciones con DUA\nF6 - Otros justificantes\nLC - Aduanas - Liquidación complementaria",
                          "example": "F1"
                        }
                      },
                      "required": [
                        "fecha",
                        "nif",
                        "nombre_social",
                        "num_factura",
                        "importacion",
                        "tipo_factura",
                        "importe_total",
                        "bases",
                        "rectificativa"
                      ]
                    }
                  }
                },
                "required": [
                  "ejercicio",
                  "facturas"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha": "01-09-2023",
                            "num_factura": "9092",
                            "estado": "Incorrecto",
                            "codigo_error": "B4_2000000",
                            "descripcion_error": "El campo es obligatorio por lo que debe venir informado: [DescripcionOperacion].",
                            "nif": "A88888888"
                          },
                          {
                            "fecha": "01-09-2023",
                            "num_factura": "9091",
                            "estado": "Correcto",
                            "nif": "A88888888"
                          }
                        ],
                        "status": "ERROR"
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "put": {
        "operationId": "lroeRecibidasPut",
        "summary": "LROE - Modificar facturas recibidas",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite modificar facturas recibidas(compras) previamente enviadas al LROE de Batuz",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-recibidas-put/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ejercicio": {
                    "type": "integer",
                    "description": "Año fiscal del ejercicio del bloque de facturas recibicas en formato yyyy",
                    "example": 2023
                  },
                  "facturas": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "fecha": {
                          "type": "string",
                          "description": "Fecha de expedición de la factura en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "fecha_operacion": {
                          "type": "string",
                          "description": "Fecha en la que se ha realizado la operación siempre que sea diferente a la fecha de expedición en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "fecha_recepcion": {
                          "type": "string",
                          "description": "Fecha de la recepción de la factura en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "nif": {
                          "type": "string",
                          "description": "NIF del emisor de la factura",
                          "example": "B01000012"
                        },
                        "pais": {
                          "type": "string",
                          "description": "Código 2 letras del país del emisor de la factura si el NIF del proveedor es extranjero (formato ISO-3166 Alpha-2 code)",
                          "example": "ES"
                        },
                        "nombre_social": {
                          "type": "string",
                          "description": "Nombre social del cliente al que se le emite la factura",
                          "example": "Empresa de ejemplo S.L."
                        },
                        "num_factura": {
                          "type": "string",
                          "description": "Número de factura",
                          "example": "2023715273"
                        },
                        "importacion": {
                          "type": "boolean",
                          "description": "Es factura de importación",
                          "example": false
                        },
                        "tipo_factura": {
                          "type": "string",
                          "description": "Tipo de factura: inversion ó gasto",
                          "example": "gasto"
                        },
                        "importe_total": {
                          "type": "number",
                          "description": "Importe total de la factura IVA incluído",
                          "example": 121.0
                        },
                        "bases": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "base_imponible": {
                                "type": "number",
                                "description": "Importe SIN IVA de la base imponible",
                                "example": 100.0
                              },
                              "tipo_iva": {
                                "type": "number",
                                "description": "Porcentaje de IVA aplicado a la base imponible",
                                "example": 21.0
                              },
                              "tipo_req": {
                                "type": "number",
                                "description": "Porcentaje de recargo de equivalencia aplicado a la línea",
                                "example": 0.0
                              },
                              "epigrafe": {
                                "type": "integer",
                                "description": "Indica que el concepto va en un epígrafe específico diferente al epígrafe general definido en la ficha de empresa o diferente del definido en la factura.\nÚnicamente para personas físicas en Bizkaia (LROE 140).",
                                "example": 197210
                              }
                            },
                            "required": [
                              "base_imponible",
                              "tipo_iva",
                              "tipo_req"
                            ]
                          },
                          "description": "Bases imponibles de la factura"
                        },
                        "regimen_iva": {
                          "type": "integer",
                          "description": "Clave de régimen especial de IVA",
                          "example": 17
                        },
                        "regimen_iva_2": {
                          "type": "integer",
                          "description": "Clave de régimen especial de IVA 2",
                          "example": 17
                        },
                        "regimen_iva_3": {
                          "type": "integer",
                          "description": "Clave de régimen especial de IVA 3",
                          "example": 17
                        },
                        "inversion_sujeto_pasivo": {
                          "type": "boolean",
                          "description": "Factura con inversión de sujeto pasivo",
                          "example": false
                        },
                        "rectificativa": {
                          "type": "boolean",
                          "description": "Es factura rectificativa",
                          "example": false
                        },
                        "num_factura_rectificada": {
                          "type": "string",
                          "description": "Número de factura que se está rectificando\nObligatorio si rectificativa.",
                          "example": "2023000100"
                        },
                        "fecha_rectificada": {
                          "type": "string",
                          "description": "Fecha de la factura que se está rectificando en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "clave_rectificativa": {
                          "type": "string",
                          "description": "Clave de la factura rectificativa (R1, R2, R3, R4, R5). Si no se define se cogerá la R1 ó la R5 si es simplificada",
                          "example": "R1"
                        },
                        "tipo_rectificativa": {
                          "type": "string",
                          "description": "Tipo de factura rectificativa: (S)ustitutiva (I) por diferencias. Si no se define se interpretará comoI (por diferencias)",
                          "example": "I"
                        },
                        "base_rectificada": {
                          "type": "number",
                          "description": "Base de la factura que se está rectificando\nObligatorio si rectificativa.",
                          "example": 100.0
                        },
                        "cuota_rectificada": {
                          "type": "number",
                          "description": "Cuota de IVA de la factura que se está rectificando.\nObligatorio si rectificativa.",
                          "example": 21.0
                        },
                        "prorrata": {
                          "type": "integer",
                          "description": "Porcentaje del importe deducible de la factura",
                          "example": 92
                        }
                      },
                      "required": [
                        "fecha",
                        "nif",
                        "nombre_social",
                        "num_factura",
                        "importacion",
                        "tipo_factura",
                        "importe_total",
                        "bases",
                        "rectificativa",
                        "fecha_rectificada"
                      ]
                    }
                  }
                },
                "required": [
                  "ejercicio",
                  "facturas"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha": "01-09-2023",
                            "num_factura": "9092",
                            "estado": "Incorrecto",
                            "codigo_error": "B4_2000000",
                            "descripcion_error": "El campo es obligatorio por lo que debe venir informado: [DescripcionOperacion].",
                            "nif": "A88888888"
                          },
                          {
                            "fecha": "01-09-2023",
                            "num_factura": "9091",
                            "estado": "Correcto",
                            "nif": "A88888888"
                          }
                        ],
                        "status": "ERROR"
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "get": {
        "operationId": "lroeRecibidasGet",
        "summary": "LROE - Consulta de facturas recibidas",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite consultar las facturas enviadas al LROE de Batuz de facturas recibidas (compras). Todos los parámetros menos el del ejercicio son opcionales (aunque se debe especificar al menos uno) y se pueden combinar, por ejemplo para buscar entre dos fechas las facturas de un proveedor concreto.\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-recibidas-get/"
        },
        "parameters": [
          {
            "name": "ejercicio",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 2023
            },
            "description": "Año fiscal del ejercicio del bloque de facturas recibicas en formato yyyy"
          },
          {
            "name": "fecha_factura_desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/09/2023"
            },
            "description": "Fecha de la factura completa en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_factura_hasta",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/10/2023"
            },
            "description": "Fecha de la factura completa en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_recepcion_desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/09/2023"
            },
            "description": "Fecha de la factura completa en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_recepcion_hasta",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/10/2023"
            },
            "description": "Fecha de la factura completa en formato dd/mm/yyyy"
          },
          {
            "name": "pais_emisor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "ES"
            },
            "description": "Código 2 letras del país del emisor de la factura si el NIF del proveedor es extranjero (formato ISO-3166 Alpha-2 code)"
          },
          {
            "name": "tipo_documento",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "02"
            },
            "description": "Tipo de documento identificativo para clientes extranjeros. Por defecto 02 para intracomunitarias ó 06 para el resto.\nPosibles valores:\n02 => NIF-IVA\n03 => Pasaporte\n04 => Documento oficial de identificación expedido por el país o territorio de residencia,\n05 => Certificado de residencia\n06 => Otro documento probatorio"
          },
          {
            "name": "nif",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "B01000012"
            },
            "description": "NIF del emisor de la factura"
          },
          {
            "name": "num_factura",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "2023715273"
            },
            "description": "Número de la factura"
          },
          {
            "name": "epigrafe",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 197210
            },
            "description": "Indica que el concepto va en un epígrafe específico diferente al epígrafe general definido en la ficha de empresa o diferente del definido en la factura.\nÚnicamente para personas físicas en Bizkaia (LROE 140)."
          },
          {
            "name": "estado",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Correcto"
            },
            "description": "Estado de las facturas: Correcto, AceptadoConErrores, Incorrecto"
          },
          {
            "name": "pagina",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 1
            },
            "description": "Para especificar el número de página del resultado paginado."
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha": "31/08/2023",
                            "fecha_operacion": "",
                            "fecha_recepcion": "31/08/2023",
                            "num_factura": "8064",
                            "descripcion": "21312",
                            "nif": "A88888888",
                            "nombre_social": "EMPRESA EJEMPLO S.A.",
                            "bases": [
                              {
                                "base_imponible": "400.72",
                                "tipo_iva": "21.00"
                              }
                            ],
                            "importe_total": "484.87",
                            "inversion_sujeto_pasivo": false,
                            "regimen_iva": "01",
                            "fecha_presentacion": "15/11/2023 11:16:56",
                            "fecha_modificacion": "15/11/2023 11:16:56",
                            "estado": "Correcto"
                          }
                        ]
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "delete": {
        "operationId": "lroeRecibidasDel",
        "summary": "LROE - Anular facturas recibidas",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite anular facturas recibidas (compras) que previamente hemos enviado al LROE de Batuz\n\nLos parámetros pueden enviarse en la query string o como JSON en el cuerpo.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-recibidas-del/"
        },
        "parameters": [
          {
            "name": "ejercicio",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 2023
            },
            "description": "Año fiscal del ejercicio del bloque de facturas recibicas en formato yyyy"
          },
          {
            "name": "facturas",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "nif": {
                    "type": "string",
                    "description": "NIF del emisor de la factura",
                    "example": "B01000012"
                  },
                  "pais": {
                    "type": "string",
                    "description": "Código 2 letras del país del emisor de la factura si el NIF del proveedor es extranjero (formato ISO-3166 Alpha-2 code)",
                    "example": "ES"
                  },
                  "num_factura": {
                    "type": "string",
                    "description": "Número de factura",
                    "example": "2023715273"
                  }
                },
                "required": [
                  "nif",
                  "num_factura"
                ]
              }
            },
            "style": "deepObject",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha": "02-09-2023",
                            "num_factura": "2023/3/075",
                            "estado": "Correcto",
                            "nif": "B01489350"
                          },
                          {
                            "fecha": "02-09-2023",
                            "num_factura": "2023/3/076",
                            "estado": "Correcto",
                            "nif": "B01489350"
                          }
                        ],
                        "status": "OK"
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/lroe-critcaja-cobros/": {
      "post": {
        "operationId": "lroeCritcajaCobrosPost",
        "summary": "LROE - Criterio de caja - COBROS - Envío de cobros",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite enviar al LROE de Batuz los cobros realizados. Este método es para empresas o personas autónomas acogidas al régimen especial del criterio de caja",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-critcaja-cobros-post/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ejercicio": {
                    "type": "integer",
                    "description": "Año fiscal del ejercicio del bloque de cobros en formato yyyy",
                    "example": 2023
                  },
                  "cobros": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "epigrafe": {
                          "type": "string",
                          "description": "Para el modelo 140 (autónomos o sociedades sin PJ) si el epígrafe es diferente del principal pre-definido en la ficha de empresa",
                          "example": "197210"
                        },
                        "fecha_cobro": {
                          "type": "string",
                          "description": "Fecha en la que se ha realizado el cobro en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "tipo_operacion": {
                          "type": "string",
                          "description": "Cobro de una operación con o sin factura. Valores posibles:\ncon_factura , sin_factura",
                          "example": "con_factura"
                        },
                        "serie": {
                          "type": "string",
                          "description": "Serie del emisor de la factura\nPara operaciones CON factura.",
                          "example": "A"
                        },
                        "num_factura": {
                          "type": "string",
                          "description": "Número de la factura a la que corresponde el cobro",
                          "example": "2300017"
                        },
                        "fecha_factura": {
                          "type": "string",
                          "description": "Fecha de la factura del cobro en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "tipo_ingreso": {
                          "type": "string",
                          "description": "Cuando la operación es sin factura y únicamente para el modelo 140 (autónomos o sociedades sin PJ) . Posibles opciones:\n1 - Percepciones incapacidad temporal\n2 - Subvenciones (subgrupo 74)\n3 - Ingresos financieros (subgrupo 76)\n4 - Ingresos extraordinarios y otros (subgrupos 73, 77 y 79)",
                          "example": "2"
                        },
                        "linea": {
                          "type": "integer",
                          "description": "Secuencia identificativa del ingreso",
                          "example": 1
                        },
                        "importe_cobrado": {
                          "type": "number",
                          "description": "Importe cobrado",
                          "example": 1210.0
                        },
                        "iva_devengado": {
                          "type": "number",
                          "description": "Importe de la cuota de IVA cobrada",
                          "example": 210.0
                        },
                        "ingreso_irpf": {
                          "type": "number",
                          "description": "Ingreso a computar en el IRPF\nPara el mod 140.",
                          "example": 1000.0
                        },
                        "forma_pago": {
                          "type": "string",
                          "description": "Forma de pago utilizada. Opciones:\n01 - Transferencia\n02 - Cheque\n03 - No se cobra / paga (fecha límite de devengo / devengo forzoso en concurso de acreedores)\n04 - Otros medios de cobro o de pago\n05 - Domiciliación bancaria",
                          "example": "04"
                        },
                        "descripcion_fpago": {
                          "type": "string",
                          "description": "Descripción de la forma de pago",
                          "example": "Paypal"
                        }
                      },
                      "required": [
                        "fecha_cobro",
                        "tipo_operacion",
                        "num_factura",
                        "fecha_factura",
                        "tipo_ingreso",
                        "linea",
                        "importe_cobrado"
                      ]
                    }
                  }
                },
                "required": [
                  "ejercicio",
                  "cobros"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha_factura": "29-11-2023",
                            "fecha_cobro": "04-12-2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "estado": "Correcto"
                          },
                          {
                            "fecha_factura": "29-11-2023",
                            "fecha_cobro": "05-12-2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "estado": "Correcto"
                          }
                        ],
                        "status": "OK"
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "put": {
        "operationId": "lroeCritcajaCobrosPut",
        "summary": "LROE - Criterio de caja - COBROS - Modificar cobros",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite enviar al LROE de Batuz los cobros realizados. Este método es para empresas o personas autónomas acogidas al régimen especial del criterio de caja",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-critcaja-cobros-put/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ejercicio": {
                    "type": "integer",
                    "description": "Año fiscal del ejercicio del bloque de cobros en formato yyyy",
                    "example": 2023
                  },
                  "cobros": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "epigrafe": {
                          "type": "string",
                          "description": "Para el modelo 140 (autónomos o sociedades sin PJ) si el epígrafe es diferente del principal pre-definido en la ficha de empresa",
                          "example": "197210"
                        },
                        "fecha_cobro": {
                          "type": "string",
                          "description": "Fecha en la que se ha realizado el cobro en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "tipo_operacion": {
                          "type": "string",
                          "description": "Cobro de una operación con o sin factura. Valores posibles:\ncon_factura , sin_factura",
                          "example": "con_factura"
                        },
                        "serie": {
                          "type": "string",
                          "description": "Serie del emisor de la factura\nPara operaciones CON factura.",
                          "example": "A"
                        },
                        "num_factura": {
                          "type": "string",
                          "description": "Número de la factura a la que corresponde el cobro",
                          "example": "2300017"
                        },
                        "fecha_factura": {
                          "type": "string",
                          "description": "Fecha de la factura del cobro en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "tipo_ingreso": {
                          "type": "string",
                          "description": "Cuando la operación es sin factura y únicamente para el modelo 140 (autónomos o sociedades sin PJ) . Posibles opciones:\n1 - Percepciones incapacidad temporal\n2 - Subvenciones (subgrupo 74)\n3 - Ingresos financieros (subgrupo 76)\n4 - Ingresos extraordinarios y otros (subgrupos 73, 77 y 79)",
                          "example": "2"
                        },
                        "linea": {
                          "type": "integer",
                          "description": "Secuencia identificativa del ingreso",
                          "example": 1
                        },
                        "importe_cobrado": {
                          "type": "number",
                          "description": "Importe cobrado",
                          "example": 1210.0
                        },
                        "iva_devengado": {
                          "type": "number",
                          "description": "Importe de la cuota de IVA cobrada",
                          "example": 210.0
                        },
                        "ingreso_irpf": {
                          "type": "number",
                          "description": "Ingreso a computar en el IRPF\nPara el mod 140.",
                          "example": 1000.0
                        },
                        "forma_pago": {
                          "type": "string",
                          "description": "Forma de pago utilizada. Opciones:\n01 - Transferencia\n02 - Cheque\n03 - No se cobra / paga (fecha límite de devengo / devengo forzoso en concurso de acreedores)\n04 - Otros medios de cobro o de pago\n05 - Domiciliación bancaria",
                          "example": "04"
                        },
                        "descripcion_fpago": {
                          "type": "string",
                          "description": "Descripción de la forma de pago",
                          "example": "Paypal"
                        }
                      },
                      "required": [
                        "fecha_cobro",
                        "tipo_operacion",
                        "num_factura",
                        "fecha_factura",
                        "tipo_ingreso",
                        "linea",
                        "importe_cobrado"
                      ]
                    }
                  }
                },
                "required": [
                  "ejercicio",
                  "cobros"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha_factura": "29-11-2023",
                            "fecha_cobro": "04-12-2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "estado": "Correcto"
                          },
                          {
                            "fecha_factura": "29-11-2023",
                            "fecha_cobro": "05-12-2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "estado": "Correcto"
                          }
                        ],
                        "status": "OK"
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "get": {
        "operationId": "lroeCritcajaCobrosGet",
        "summary": "LROE - Criterio de caja - COBROS - Consulta de cobros",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite consultar las facturas enviadas al LROE de Batuz de facturas recibidas (compras). Todos los parámetros menos el del ejercicio son opcionales (aunque se debe especificar al menos uno) y se pueden combinar, por ejemplo para buscar entre dos fechas las facturas de un proveedor concreto. Este método es para empresas o personas autónomas acogidas al régimen especial del criterio de caja\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-critcaja-cobros-get/"
        },
        "parameters": [
          {
            "name": "ejercicio",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 2023
            },
            "description": "Año fiscal del ejercicio del bloque de facturas recibicas en formato yyyy"
          },
          {
            "name": "fecha_factura_desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/09/2023"
            },
            "description": "Fecha de la factura completa en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_factura_hasta",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/10/2023"
            },
            "description": "Fecha de la factura completa en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_operacion_desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/09/2023"
            },
            "description": "Fecha de la operación en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_operacion_hasta",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/10/2023"
            },
            "description": "Fecha de la operación en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_cobro_desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/09/2023"
            },
            "description": "Fecha del cobro en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_cobro_hasta",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/10/2023"
            },
            "description": "Fecha del cobro en formato dd/mm/yyyy"
          },
          {
            "name": "tipo_ingreso",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "02"
            },
            "description": "Cuando la operación es sin factura y únicamente para el modelo 140 (autónomos o sociedades sin PJ) . Posibles opciones:\n1 - Percepciones incapacidad temporal\n2 - Subvenciones (subgrupo 74)\n3 - Ingresos financieros (subgrupo 76)\n4 - Ingresos extraordinarios y otros (subgrupos 73, 77 y 79)"
          },
          {
            "name": "num_factura",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "2023715273"
            },
            "description": "Número de la factura"
          },
          {
            "name": "epigrafe",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 197210
            },
            "description": "Indica que el concepto va en un epígrafe específico diferente al epígrafe general definido en la ficha de empresa o diferente del definido en la factura.\nÚnicamente para personas físicas en Bizkaia (LROE 140)."
          },
          {
            "name": "estado",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Correcto"
            },
            "description": "Estado de las facturas: Correcto, AceptadoConErrores, Incorrecto"
          },
          {
            "name": "pagina",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 1
            },
            "description": "Para especificar el número de página del resultado paginado."
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha_factura": "29/11/2023",
                            "fecha_cobro": "29/11/2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "importe_cobrado": "250.00",
                            "iva_devengado": "52.50",
                            "forma_pago": "01",
                            "descripcion_fpago": "Transferencia",
                            "estado": "Correcto"
                          },
                          {
                            "fecha_factura": "29/11/2023",
                            "fecha_cobro": "05/12/2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "importe_cobrado": "50.00",
                            "iva_devengado": "10.50",
                            "forma_pago": "04",
                            "descripcion_fpago": "Otros medios de cobro o de pago",
                            "estado": "Correcto"
                          }
                        ]
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "delete": {
        "operationId": "lroeCritcajaCobrosDel",
        "summary": "LROE - Criterio de caja - COBROS - Anulación de cobros",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite anular facturas recibidas (compras) que previamente hemos enviado al LROE de Batuz. Este método es para empresas o personas autónomas acogidas al régimen especial del criterio de caja\n\nLos parámetros pueden enviarse en la query string o como JSON en el cuerpo.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-critcaja-cobros-del/"
        },
        "parameters": [
          {
            "name": "ejercicio",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 2023
            },
            "description": "Año fiscal del ejercicio del bloque de cobros en formato yyyy"
          },
          {
            "name": "cobros",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "epigrafe": {
                    "type": "string",
                    "description": "Para el modelo 140 (autónomos o sociedades sin PJ) si el epígrafe es diferente del principal pre-definido en la ficha de empresa",
                    "example": "197210"
                  },
                  "fecha_cobro": {
                    "type": "string",
                    "description": "Fecha en la que se ha realizado el cobro en formato dd/mm/yyyy",
                    "example": "13/11/2023"
                  },
                  "tipo_operacion": {
                    "type": "string",
                    "description": "Cobro de una operación con o sin factura. Valores posibles:\ncon_factura , sin_factura",
                    "example": "con_factura"
                  },
                  "serie": {
                    "type": "string",
                    "description": "Serie del emisor de la factura\nPara operaciones CON factura.",
                    "example": "A"
                  },
                  "num_factura": {
                    "type": "string",
                    "description": "Número de la factura a la que corresponde el cobro",
                    "example": "2300017"
                  },
                  "fecha_factura": {
                    "type": "string",
                    "description": "Fecha de la factura del cobro en formato dd/mm/yyyy",
                    "example": "13/11/2023"
                  },
                  "tipo_ingreso": {
                    "type": "string",
                    "description": "Cuando la operación es sin factura y únicamente para el modelo 140 (autónomos o sociedades sin PJ) . Posibles opciones:\n1 - Percepciones incapacidad temporal\n2 - Subvenciones (subgrupo 74)\n3 - Ingresos financieros (subgrupo 76)\n4 - Ingresos extraordinarios y otros (subgrupos 73, 77 y 79)",
                    "example": "2"
                  },
                  "linea": {
                    "type": "integer",
                    "description": "Secuencia identificativa del ingreso",
                    "example": 1
                  }
                },
                "required": [
                  "fecha_cobro",
                  "tipo_operacion",
                  "num_factura",
                  "fecha_factura",
                  "tipo_ingreso",
                  "linea"
                ]
              }
            },
            "style": "deepObject",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha_factura": "29-11-2023",
                            "fecha_cobro": "04-12-2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "estado": "Correcto"
                          }
                        ],
                        "status": "OK"
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/lroe-critcaja-pagos/": {
      "post": {
        "operationId": "lroeCritcajaPagosPost",
        "summary": "LROE - Criterio de caja - PAGOS - Envío de pagos",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite enviar al LROE de Batuz los pagos realizados. Este método es para empresas o personas autónomas acogidas al régimen especial del criterio de caja",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-critcaja-pagos-post/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ejercicio": {
                    "type": "integer",
                    "description": "Año fiscal del ejercicio del bloque de cobros en formato yyyy",
                    "example": 2023
                  },
                  "pagos": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "epigrafe": {
                          "type": "string",
                          "description": "Para el modelo 140 (autónomos o sociedades sin PJ) si el epígrafe es diferente del principal pre-definido en la ficha de empresa",
                          "example": "197210"
                        },
                        "fecha_pago": {
                          "type": "string",
                          "description": "Fecha en la que se ha realizado el pago en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "tipo_operacion": {
                          "type": "string",
                          "description": "Cobro de una operación con o sin factura. Valores posibles:\ncon_factura , sin_factura",
                          "example": "con_factura"
                        },
                        "nif": {
                          "type": "string",
                          "description": "NIF del emisor de la factura",
                          "example": "B01000012"
                        },
                        "pais": {
                          "type": "string",
                          "description": "Código 2 letras del país del emisor de la factura si el NIF del proveedor es extranjero (formato ISO-3166 Alpha-2 code)",
                          "example": "ES"
                        },
                        "nombre_social": {
                          "type": "string",
                          "description": "Nombre social del cliente al que se le emite la factura",
                          "example": "Empresa de ejemplo S.L."
                        },
                        "serie": {
                          "type": "string",
                          "description": "Serie del emisor de la factura\nPara operaciones CON factura.",
                          "example": "A"
                        },
                        "num_factura": {
                          "type": "string",
                          "description": "Número de la factura a la que corresponde el cobro",
                          "example": "2300017"
                        },
                        "fecha_factura": {
                          "type": "string",
                          "description": "Fecha de la factura del cobro en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "concepto": {
                          "type": "string",
                          "description": "Cuando la operación es sin factura y únicamente para el modelo 140 (autónomos o sociedades sin PJ) . Posibles opciones:\n600 - Compras de mercaderías\n601 - Compras de materias primas\n602 - Compras de otros aprovisionamientos\n606 - Descuentos sobre compras por pronto pago\n607 - Trabajos realizados por otras empresas\n608 - Devoluciones de compras y operaciones similares\n609 - Rappels por compras\n620 - Gastos en investigación y desarrollo del ejercicio\n621 - Arrendamientos y cánones\n622 - Reparaciones y conservación\n623 - Servicios de profesionales independientes\n624 - Transportes\n625 - Primas de seguros\n626 - Servicios bancarios y similares\n627 - Publicidad, propaganda y relaciones públicas\n628 - Suministros\n629 - Otros servicios\n631 - Otros tributos\n634 - Ajustes negativos en la imposición indirecta\n639 - Ajustes positivos en la imposición indirecta\n640 - Sueldos y salarios\n641 - Indemnizaciones\n64201 - Seguridad social a cargo de la empresa: autónomos\n64202 - Seguridad social a cargo de la empresa: empleados\n643 - Retribuciones a largo plazo mediante sistemas de aportación definida\n644 - Retribuciones a largo plazo mediante sistemas de prestación definida\n649 - Otros gastos sociales\n65 - Otros gastos de gestión\n66 - Gastos financieros\n67 - Gastos excepcionales\n680 - Amortización del inmovilizado intangible\n681 - Amortización del inmovilizado material\n682 - Amortización de las inversiones inmobiliarias\n69 - Pérdidas por deterioro y otras dotaciones",
                          "example": "600"
                        },
                        "linea": {
                          "type": "integer",
                          "description": "Secuencia identificativa del ingreso",
                          "example": 1
                        },
                        "importe_pagado": {
                          "type": "number",
                          "description": "Importe cobrado",
                          "example": 1210.0
                        },
                        "iva_soportado": {
                          "type": "number",
                          "description": "Importe de la cuota de IVA soportada",
                          "example": 210.0
                        },
                        "iva_deducible": {
                          "type": "number",
                          "description": "Importe deducible de la cuota de IVA",
                          "example": 210.0
                        },
                        "gasto_irpf": {
                          "type": "number",
                          "description": "Gasto a imputar en el IRPF\nPara el mod 140.",
                          "example": 1000.0
                        },
                        "forma_pago": {
                          "type": "string",
                          "description": "Forma de pago utilizada. Opciones:\n01 - Transferencia\n02 - Cheque\n03 - No se cobra / paga (fecha límite de devengo / devengo forzoso en concurso de acreedores)\n04 - Otros medios de cobro o de pago\n05 - Domiciliación bancaria",
                          "example": "04"
                        },
                        "descripcion_fpago": {
                          "type": "string",
                          "description": "Descripción de la forma de pago",
                          "example": "Paypal"
                        }
                      },
                      "required": [
                        "fecha_pago",
                        "tipo_operacion",
                        "nif",
                        "nombre_social",
                        "num_factura",
                        "fecha_factura",
                        "concepto",
                        "linea",
                        "importe_pagado"
                      ]
                    }
                  }
                },
                "required": [
                  "ejercicio",
                  "pagos"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha_factura": "29-11-2023",
                            "fecha_pago": "04-12-2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "estado": "Correcto"
                          },
                          {
                            "fecha_factura": "29-11-2023",
                            "fecha_pago": "05-12-2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "estado": "Correcto"
                          }
                        ],
                        "status": "OK"
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "put": {
        "operationId": "lroeCritcajaPagosPut",
        "summary": "LROE - Criterio de caja - PAGOS - Modificar pagos",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite enviar al LROE de Batuz los pagos realizados. Este método es para empresas o personas autónomas acogidas al régimen especial del criterio de caja",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-critcaja-pagos-put/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ejercicio": {
                    "type": "integer",
                    "description": "Año fiscal del ejercicio del bloque de cobros en formato yyyy",
                    "example": 2023
                  },
                  "pagos": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "epigrafe": {
                          "type": "string",
                          "description": "Para el modelo 140 (autónomos o sociedades sin PJ) si el epígrafe es diferente del principal pre-definido en la ficha de empresa",
                          "example": "197210"
                        },
                        "fecha_pago": {
                          "type": "string",
                          "description": "Fecha en la que se ha realizado el pago en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "tipo_operacion": {
                          "type": "string",
                          "description": "Cobro de una operación con o sin factura. Valores posibles:\ncon_factura , sin_factura",
                          "example": "con_factura"
                        },
                        "nif": {
                          "type": "string",
                          "description": "NIF del emisor de la factura",
                          "example": "B01000012"
                        },
                        "pais": {
                          "type": "string",
                          "description": "Código 2 letras del país del emisor de la factura si el NIF del proveedor es extranjero (formato ISO-3166 Alpha-2 code)",
                          "example": "ES"
                        },
                        "nombre_social": {
                          "type": "string",
                          "description": "Nombre social del cliente al que se le emite la factura",
                          "example": "Empresa de ejemplo S.L."
                        },
                        "serie": {
                          "type": "string",
                          "description": "Serie del emisor de la factura\nPara operaciones CON factura.",
                          "example": "A"
                        },
                        "num_factura": {
                          "type": "string",
                          "description": "Número de la factura a la que corresponde el cobro",
                          "example": "2300017"
                        },
                        "fecha_factura": {
                          "type": "string",
                          "description": "Fecha de la factura del cobro en formato dd/mm/yyyy",
                          "example": "13/11/2023"
                        },
                        "concepto": {
                          "type": "string",
                          "description": "Cuando la operación es sin factura y únicamente para el modelo 140 (autónomos o sociedades sin PJ) . Posibles opciones:\n600 - Compras de mercaderías\n601 - Compras de materias primas\n602 - Compras de otros aprovisionamientos\n606 - Descuentos sobre compras por pronto pago\n607 - Trabajos realizados por otras empresas\n608 - Devoluciones de compras y operaciones similares\n609 - Rappels por compras\n620 - Gastos en investigación y desarrollo del ejercicio\n621 - Arrendamientos y cánones\n622 - Reparaciones y conservación\n623 - Servicios de profesionales independientes\n624 - Transportes\n625 - Primas de seguros\n626 - Servicios bancarios y similares\n627 - Publicidad, propaganda y relaciones públicas\n628 - Suministros\n629 - Otros servicios\n631 - Otros tributos\n634 - Ajustes negativos en la imposición indirecta\n639 - Ajustes positivos en la imposición indirecta\n640 - Sueldos y salarios\n641 - Indemnizaciones\n64201 - Seguridad social a cargo de la empresa: autónomos\n64202 - Seguridad social a cargo de la empresa: empleados\n643 - Retribuciones a largo plazo mediante sistemas de aportación definida\n644 - Retribuciones a largo plazo mediante sistemas de prestación definida\n649 - Otros gastos sociales\n65 - Otros gastos de gestión\n66 - Gastos financieros\n67 - Gastos excepcionales\n680 - Amortización del inmovilizado intangible\n681 - Amortización del inmovilizado material\n682 - Amortización de las inversiones inmobiliarias\n69 - Pérdidas por deterioro y otras dotaciones",
                          "example": "600"
                        },
                        "linea": {
                          "type": "integer",
                          "description": "Secuencia identificativa del ingreso",
                          "example": 1
                        },
                        "importe_pagado": {
                          "type": "number",
                          "description": "Importe cobrado",
                          "example": 1210.0
                        },
                        "iva_soportado": {
                          "type": "number",
                          "description": "Importe de la cuota de IVA soportada",
                          "example": 210.0
                        },
                        "iva_deducible": {
                          "type": "number",
                          "description": "Importe deducible de la cuota de IVA",
                          "example": 210.0
                        },
                        "gasto_irpf": {
                          "type": "number",
                          "description": "Gasto a imputar en el IRPF\nPara el mod 140.",
                          "example": 1000.0
                        },
                        "forma_pago": {
                          "type": "string",
                          "description": "Forma de pago utilizada. Opciones:\n01 - Transferencia\n02 - Cheque\n03 - No se cobra / paga (fecha límite de devengo / devengo forzoso en concurso de acreedores)\n04 - Otros medios de cobro o de pago\n05 - Domiciliación bancaria",
                          "example": "04"
                        },
                        "descripcion_fpago": {
                          "type": "string",
                          "description": "Descripción de la forma de pago",
                          "example": "Paypal"
                        }
                      },
                      "required": [
                        "fecha_pago",
                        "tipo_operacion",
                        "nif",
                        "nombre_social",
                        "num_factura",
                        "fecha_factura",
                        "concepto",
                        "linea",
                        "importe_pagado"
                      ]
                    }
                  }
                },
                "required": [
                  "ejercicio",
                  "pagos"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha_factura": "29-11-2023",
                            "fecha_pago": "04-12-2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "estado": "Correcto"
                          },
                          {
                            "fecha_factura": "29-11-2023",
                            "fecha_pago": "05-12-2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "estado": "Correcto"
                          }
                        ],
                        "status": "OK"
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "get": {
        "operationId": "lroeCritcajaPagosGet",
        "summary": "LROE - Criterio de caja - PAGOS - Consulta de pagos",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite consultar los pagos de las facturas recibidas al LROE de Batuz. Todos los parámetros menos el del ejercicio son opcionales (aunque se debe especificar al menos uno) y se pueden combinar, por ejemplo para buscar entre dos fechas las facturas de un proveedor concreto. Este método es para empresas o personas autónomas acogidas al régimen especial del criterio de caja.\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-critcaja-pagos-get/"
        },
        "parameters": [
          {
            "name": "ejercicio",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 2023
            },
            "description": "Año fiscal del ejercicio del bloque de facturas recibicas en formato yyyy"
          },
          {
            "name": "fecha_factura_desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/09/2023"
            },
            "description": "Fecha de la factura completa en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_factura_hasta",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/10/2023"
            },
            "description": "Fecha de la factura completa en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_operacion_desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/09/2023"
            },
            "description": "Fecha de la operación en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_operacion_hasta",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/10/2023"
            },
            "description": "Fecha de la operación en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_pago_desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/09/2023"
            },
            "description": "Fecha del pago en formato dd/mm/yyyy"
          },
          {
            "name": "fecha_pago_hasta",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "13/10/2023"
            },
            "description": "Fecha del pago en formato dd/mm/yyyy"
          },
          {
            "name": "concepto",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "02"
            },
            "description": "Cuando la operación es sin factura y únicamente para el modelo 140 (autónomos o sociedades sin PJ) . Posibles opciones:\n600 - Compras de mercaderías\n601 - Compras de materias primas\n602 - Compras de otros aprovisionamientos\n606 - Descuentos sobre compras por pronto pago\n607 - Trabajos realizados por otras empresas\n608 - Devoluciones de compras y operaciones similares\n609 - Rappels por compras\n620 - Gastos en investigación y desarrollo del ejercicio\n621 - Arrendamientos y cánones\n622 - Reparaciones y conservación\n623 - Servicios de profesionales independientes\n624 - Transportes\n625 - Primas de seguros\n626 - Servicios bancarios y similares\n627 - Publicidad, propaganda y relaciones públicas\n628 - Suministros\n629 - Otros servicios\n631 - Otros tributos\n634 - Ajustes negativos en la imposición indirecta\n639 - Ajustes positivos en la imposición indirecta\n640 - Sueldos y salarios\n641 - Indemnizaciones\n64201 - Seguridad social a cargo de la empresa: autónomos\n64202 - Seguridad social a cargo de la empresa: empleados\n643 - Retribuciones a largo plazo mediante sistemas de aportación definida\n644 - Retribuciones a largo plazo mediante sistemas de prestación definida\n649 - Otros gastos sociales\n65 - Otros gastos de gestión\n66 - Gastos financieros\n67 - Gastos excepcionales\n680 - Amortización del inmovilizado intangible\n681 - Amortización del inmovilizado material\n682 - Amortización de las inversiones inmobiliarias\n69 - Pérdidas por deterioro y otras dotaciones"
          },
          {
            "name": "num_factura",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "2023715273"
            },
            "description": "Número de la factura"
          },
          {
            "name": "epigrafe",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 197210
            },
            "description": "Indica que el concepto va en un epígrafe específico diferente al epígrafe general definido en la ficha de empresa o diferente del definido en la factura.\nÚnicamente para personas físicas en Bizkaia (LROE 140)."
          },
          {
            "name": "estado",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Correcto"
            },
            "description": "Estado de las facturas: Correcto, AceptadoConErrores, Incorrecto"
          },
          {
            "name": "pagina",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 1
            },
            "description": "Para especificar el número de página del resultado paginado."
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "body": {
                        "result": "OK",
                        "return": {
                          "response": [
                            {
                              "fecha_factura": "29/11/2023",
                              "fecha_pago": "30/12/2023",
                              "serie": "A",
                              "num_factura": "2023000699",
                              "importe_pagado": "100.00",
                              "iva_soportado": "21.00",
                              "iva_deducible": "21.00",
                              "forma_pago": "01",
                              "descripcion_fpago": "Transferencia",
                              "estado": "Correcto"
                            },
                            {
                              "fecha_factura": "29/11/2023",
                              "fecha_pago": "30/12/2023",
                              "serie": "A",
                              "num_factura": "2023000700",
                              "importe_pagado": "100.00",
                              "iva_soportado": "21.00",
                              "iva_deducible": "21.00",
                              "forma_pago": "01",
                              "descripcion_fpago": "Transferencia",
                              "estado": "Correcto"
                            }
                          ]
                        },
                        "msg": null
                      },
                      "status_code_header": "HTTP/1.1 200 OK"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "delete": {
        "operationId": "lroeCritcajaPagosDel",
        "summary": "LROE - Criterio de caja - PAGOS - Anulación de pagos",
        "tags": [
          "Batuz Bizkaia (LROE)"
        ],
        "description": "ATENCIÓN: Este método únicamente es válido para BATUZ Bizkaia. Permite anular pagos que previamente hemos enviado al LROE de Batuz. Este método es para empresas o personas autónomas acogidas al régimen especial del criterio de caja\n\nLos parámetros pueden enviarse en la query string o como JSON en el cuerpo.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/lroe-critcaja-pagos-del/"
        },
        "parameters": [
          {
            "name": "ejercicio",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 2023
            },
            "description": "Año fiscal del ejercicio del bloque de cobros en formato yyyy"
          },
          {
            "name": "pagos",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "epigrafe": {
                    "type": "string",
                    "description": "Para el modelo 140 (autónomos o sociedades sin PJ) si el epígrafe es diferente del principal pre-definido en la ficha de empresa",
                    "example": "197210"
                  },
                  "fecha_pago": {
                    "type": "string",
                    "description": "Fecha en la que se ha realizado el cobro en formato dd/mm/yyyy",
                    "example": "13/11/2023"
                  },
                  "tipo_operacion": {
                    "type": "string",
                    "description": "Cobro de una operación con o sin factura. Valores posibles:\ncon_factura , sin_factura",
                    "example": "con_factura"
                  },
                  "nif": {
                    "type": "string",
                    "description": "NIF del emisor de la factura",
                    "example": "B01000012"
                  },
                  "pais": {
                    "type": "string",
                    "description": "Código 2 letras del país del emisor de la factura si el NIF del proveedor es extranjero (formato ISO-3166 Alpha-2 code)",
                    "example": "ES"
                  },
                  "nombre_social": {
                    "type": "string",
                    "description": "Nombre social del cliente al que se le emite la factura",
                    "example": "Empresa de ejemplo S.L."
                  },
                  "serie": {
                    "type": "string",
                    "description": "Serie del emisor de la factura\nPara operaciones CON factura.",
                    "example": "A"
                  },
                  "num_factura": {
                    "type": "string",
                    "description": "Número de la factura a la que corresponde el cobro",
                    "example": "2300017"
                  },
                  "fecha_factura": {
                    "type": "string",
                    "description": "Fecha de la factura del cobro en formato dd/mm/yyyy",
                    "example": "13/11/2023"
                  },
                  "tipo_ingreso": {
                    "type": "string",
                    "description": "Cuando la operación es sin factura y únicamente para el modelo 140 (autónomos o sociedades sin PJ) . Posibles opciones:\n600 - Compras de mercaderías\n601 - Compras de materias primas\n602 - Compras de otros aprovisionamientos\n606 - Descuentos sobre compras por pronto pago\n607 - Trabajos realizados por otras empresas\n608 - Devoluciones de compras y operaciones similares\n609 - Rappels por compras\n620 - Gastos en investigación y desarrollo del ejercicio\n621 - Arrendamientos y cánones\n622 - Reparaciones y conservación\n623 - Servicios de profesionales independientes\n624 - Transportes\n625 - Primas de seguros\n626 - Servicios bancarios y similares\n627 - Publicidad, propaganda y relaciones públicas\n628 - Suministros\n629 - Otros servicios\n631 - Otros tributos\n634 - Ajustes negativos en la imposición indirecta\n639 - Ajustes positivos en la imposición indirecta\n640 - Sueldos y salarios\n641 - Indemnizaciones\n64201 - Seguridad social a cargo de la empresa: autónomos\n64202 - Seguridad social a cargo de la empresa: empleados\n643 - Retribuciones a largo plazo mediante sistemas de aportación definida\n644 - Retribuciones a largo plazo mediante sistemas de prestación definida\n649 - Otros gastos sociales\n65 - Otros gastos de gestión\n66 - Gastos financieros\n67 - Gastos excepcionales\n680 - Amortización del inmovilizado intangible\n681 - Amortización del inmovilizado material\n682 - Amortización de las inversiones inmobiliarias\n69 - Pérdidas por deterioro y otras dotaciones",
                    "example": "2"
                  },
                  "linea": {
                    "type": "integer",
                    "description": "Secuencia identificativa del ingreso",
                    "example": 1
                  }
                },
                "required": [
                  "fecha_pago",
                  "tipo_operacion",
                  "nif",
                  "nombre_social",
                  "num_factura",
                  "fecha_factura",
                  "tipo_ingreso",
                  "linea"
                ]
              }
            },
            "style": "deepObject",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "response": [
                          {
                            "fecha_factura": "29-11-2023",
                            "fecha_pago": "04-12-2023",
                            "serie": "A",
                            "num_factura": "2023000699",
                            "estado": "Correcto"
                          }
                        ],
                        "status": "OK"
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/webhooks/": {
      "post": {
        "operationId": "webhooksPost",
        "summary": "Webhooks - Nuevo webhook",
        "tags": [
          "Webhooks, empresas y licencias"
        ],
        "description": "Permite crear un webhook para notificar del cambio de estado de una factura cuando se hacen envíos asíncronos.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/webhooks-post/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "URL a la que enviar el webhook",
                    "example": "https://..."
                  },
                  "secret": {
                    "type": "string",
                    "description": "Clave para la firma del webhook para validación del contenido. La firma se realiza mediante HMAC SHA256 y la firma se envía en base64 en el header X-Tbaiws-Hmac-Sha256",
                    "example": "xajky22kjasy"
                  },
                  "solo_errores": {
                    "type": "boolean",
                    "description": "Parámetro para enviar el webhook únicamente si se producen errores o si la factura es aceptada con errores o avisos",
                    "example": true
                  },
                  "activo": {
                    "type": "boolean",
                    "description": "Webhook activado. Permite apagar el webhook temporalmente",
                    "example": true
                  }
                },
                "required": [
                  "url",
                  "secret"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "codigo": "6904a3501874e",
                        "url": "https://www.berein.com/",
                        "entorno": "test",
                        "secret": "xajky22kjasy",
                        "solo_errores": true,
                        "activo": true,
                        "fecha_creado": "2025-10-31T12:53:52+01:00",
                        "fecha_modificado": "2025-11-03T10:16:15+01:00"
                      },
                      "msg": ""
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      },
      "get": {
        "operationId": "webhooksGet",
        "summary": "Webhooks - Consultar webhooks",
        "tags": [
          "Webhooks, empresas y licencias"
        ],
        "description": "Permite consultar el estado de uno o listar los webhooks creados para un NIF\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/webhooks-get/"
        },
        "parameters": [
          {
            "name": "solo_errores",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "example": true
            },
            "description": "Parámetro para filtrar los webhooks por los que están con la opción de solo_errores activado. No definirlo para obtener cualquier resultado"
          },
          {
            "name": "activo",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "example": true
            },
            "description": "Parámetro para filtrar los webhooks por los que están con la opción de activo activado. No definirlo para obtener cualquier resultado"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": [
                        {
                          "codigo": "6904a3501884e",
                          "url": "https://www.berein.com/",
                          "entorno": "test",
                          "secret": "xajky22kjasy",
                          "solo_errores": true,
                          "activo": true,
                          "fecha_creado": "2025-10-31T12:53:52+01:00",
                          "fecha_modificado": "2025-11-03T10:16:15+01:00",
                          "nif": "B12346789"
                        }
                      ],
                      "msg": ""
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/webhooks/{codigo_webhook}/": {
      "put": {
        "operationId": "webhooksPut",
        "summary": "Webhooks - Modificar webhook",
        "tags": [
          "Webhooks, empresas y licencias"
        ],
        "description": "Permite crear un webhook para notificar del cambio de estado de una factura cuando se hacen envíos asíncronos.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/webhooks-put/"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "URL a la que enviar el webhook",
                    "example": "https://..."
                  },
                  "secret": {
                    "type": "string",
                    "description": "Clave para la firma del webhook para validación del contenido. La firma se realiza mediante HMAC SHA256 y la firma se envía en base64 en el header X-Tbaiws-Hmac-Sha256",
                    "example": "xajky22kjasy"
                  },
                  "solo_errores": {
                    "type": "boolean",
                    "description": "Parámetro para enviar el webhook únicamente si se producen errores o si la factura es aceptada con errores o avisos",
                    "example": true
                  },
                  "activo": {
                    "type": "boolean",
                    "description": "Webhook activado. Permite apagar el webhook temporalmente",
                    "example": true
                  }
                },
                "required": [
                  "url",
                  "secret"
                ]
              }
            }
          }
        },
        "parameters": [
          {
            "name": "codigo_webhook",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "codigo": "6904a3501874e",
                        "url": "https://www.berein.com/",
                        "entorno": "test",
                        "secret": "xajky22kjasy",
                        "solo_errores": true,
                        "activo": true,
                        "fecha_creado": "2025-10-31T12:53:52+01:00",
                        "fecha_modificado": "2025-11-03T10:16:15+01:00"
                      },
                      "msg": ""
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        }
      }
    },
    "/empresas/": {
      "post": {
        "operationId": "empresasPost",
        "summary": "Nueva empresa",
        "tags": [
          "Webhooks, empresas y licencias"
        ],
        "description": "**Credenciales de la cuenta de cliente:** este método usa el token de desarrollador de tu cuenta (no el de una empresa) en la cabecera `Token`, y el NIF de la cuenta en `Nif`.\n\nEste método permite crear una nueva ficha de empresa para el envío de ticketbai",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/empresas-post/"
        },
        "servers": [
          {
            "url": "https://api.ticketbaiws.eus",
            "description": "Solo producción"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id_licencia": {
                    "type": "integer",
                    "description": "ID de la licencia a la que se quiere asociar. Si no se indica se cogerá la primera libre o se creará una nueva",
                    "example": 999
                  },
                  "nombre_social": {
                    "type": "string",
                    "description": "Nombre social de la empresa",
                    "example": "Empresa de ejemplo S.L."
                  },
                  "nombre_comercial": {
                    "type": "string",
                    "description": "Nombre comercial de la empresa",
                    "example": "Neumáticos Pepe"
                  },
                  "nif": {
                    "type": "string",
                    "description": "NIF de la empresa",
                    "example": "B01000012"
                  },
                  "direccion": {
                    "type": "string",
                    "description": "Dirección de social de la empresa",
                    "example": "Calle de ejemplo 123"
                  },
                  "poblacion": {
                    "type": "string",
                    "description": "Población social de la empresa",
                    "example": "Vitoria-Gasteiz"
                  },
                  "provincia": {
                    "type": "string",
                    "description": "Provincia social de la empresa",
                    "example": "Álava"
                  },
                  "cp": {
                    "type": "string",
                    "description": "Código postal social de la empresa",
                    "example": "01001"
                  },
                  "email": {
                    "type": "string",
                    "description": "Email de contacto de la empresa",
                    "example": "info@ejemplo.com"
                  },
                  "web": {
                    "type": "string",
                    "description": "Dirección de la página web de la empresa",
                    "example": "www.ejemplo.com"
                  },
                  "diputacion": {
                    "type": "integer",
                    "example": 1
                  },
                  "epigrafe": {
                    "type": "string",
                    "description": "Epígrafe del IAE\nObligatorio solo para autónomos, CBs y SCs para Bizkaia.",
                    "example": "301800"
                  }
                },
                "required": [
                  "nombre_social",
                  "nif",
                  "direccion",
                  "poblacion",
                  "provincia",
                  "cp",
                  "diputacion"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "id": "999",
                        "id_licencia": "999",
                        "epigrafe": "",
                        "nombre_social": "Empresa de ejemplo S.L.",
                        "nombre_comercial": "Neumáticos Pepe",
                        "nif": "B01000012",
                        "direccion": "Calle de ejemplo 123",
                        "poblacion": "Vitoria-Gasteiz",
                        "provincia": "Álava",
                        "cp": "28080",
                        "email": "info@ejemplo.com",
                        "web": "www.ejemplo.com",
                        "diputacion": 1,
                        "token": "xxx",
                        "token_test": "xxx"
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        },
        "security": [
          {
            "TokenDesarrollador": [],
            "NifCuenta": []
          }
        ]
      },
      "get": {
        "operationId": "empresasGet",
        "summary": "Listado empresas",
        "tags": [
          "Webhooks, empresas y licencias"
        ],
        "description": "**Credenciales de la cuenta de cliente:** este método usa el token de desarrollador de tu cuenta (no el de una empresa) en la cabecera `Token`, y el NIF de la cuenta en `Nif`.\n\nEste método devuelve el listado de las empresas dadas de alta\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/empresas-get/"
        },
        "servers": [
          {
            "url": "https://api.ticketbaiws.eus",
            "description": "Solo producción"
          }
        ],
        "parameters": [
          {
            "name": "id_licencia",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "999"
            },
            "description": "Para obtener las empresas de una licencia concreta"
          },
          {
            "name": "nif",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "B01000012"
            },
            "description": "Para obtener el detalle de una empresa concreta"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": [
                        {
                          "id": "999",
                          "id_licencia": "999",
                          "epigrafe": "",
                          "nombre_social": "Empresa de ejemplo S.L.",
                          "nombre_comercial": "Neumáticos Pepe",
                          "nif": "B01000012",
                          "direccion": "Calle de ejemplo 123",
                          "poblacion": "Vitoria-Gasteiz",
                          "provincia": "Álava",
                          "cp": "28080",
                          "email": "info@ejemplo.com",
                          "web": "www.ejemplo.com",
                          "diputacion": 1,
                          "token": "xxx",
                          "token_test": "xxx"
                        },
                        {
                          "id": "999",
                          "id_licencia": "999",
                          "epigrafe": "",
                          "nombre_social": "Empresa de ejemplo S.L.",
                          "nombre_comercial": "Neumáticos Pepe",
                          "nif": "B01000012",
                          "direccion": "Calle de ejemplo 123",
                          "poblacion": "Vitoria-Gasteiz",
                          "provincia": "Álava",
                          "cp": "28080",
                          "email": "info@ejemplo.com",
                          "web": "www.ejemplo.com",
                          "diputacion": 2,
                          "token": "xxx",
                          "token_test": "xxx"
                        }
                      ],
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        },
        "security": [
          {
            "TokenDesarrollador": [],
            "NifCuenta": []
          }
        ]
      }
    },
    "/licencias/": {
      "post": {
        "operationId": "licenciasPost",
        "summary": "Nueva licencia",
        "tags": [
          "Webhooks, empresas y licencias"
        ],
        "description": "**Credenciales de la cuenta de cliente:** este método usa el token de desarrollador de tu cuenta (no el de una empresa) en la cabecera `Token`, y el NIF de la cuenta en `Nif`.\n\nEste método permite crear una nueva licencia",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/licencias-post/"
        },
        "servers": [
          {
            "url": "https://api.ticketbaiws.eus",
            "description": "Solo producción"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "plan": {
                    "type": "integer",
                    "description": "ID del plan que se aplicará a la licencia",
                    "example": 3
                  },
                  "cantidad": {
                    "type": "integer",
                    "description": "Número de licencias a crear",
                    "example": 1
                  },
                  "meses_anos": {
                    "type": "integer",
                    "description": "Número de meses o años para la contratación",
                    "example": 1
                  },
                  "modalidad": {
                    "type": "string",
                    "description": "Periodicidad de renovación de la licencia (mensual ó anual)",
                    "example": "mensual"
                  }
                },
                "required": [
                  "plan",
                  "cantidad",
                  "meses_anos",
                  "modalidad"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "ids_licencias": [
                          "999",
                          "999",
                          "9999"
                        ]
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        },
        "security": [
          {
            "TokenDesarrollador": [],
            "NifCuenta": []
          }
        ]
      },
      "get": {
        "operationId": "licenciasGet",
        "summary": "Consulta licencias",
        "tags": [
          "Webhooks, empresas y licencias"
        ],
        "description": "**Credenciales de la cuenta de cliente:** este método usa el token de desarrollador de tu cuenta (no el de una empresa) en la cabecera `Token`, y el NIF de la cuenta en `Nif`.\n\nEste método devuelve el listado de licencias contratadas\n\nLos métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/licencias-get/"
        },
        "servers": [
          {
            "url": "https://api.ticketbaiws.eus",
            "description": "Solo producción"
          }
        ],
        "parameters": [
          {
            "name": "id_licencia",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 999
            },
            "description": "En caso de no informarlo devolverá todas"
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": [
                        {
                          "id": "1",
                          "id_plan": "3",
                          "fecha_alta": "1648120433",
                          "fecha_fin": "1679656433",
                          "renovacion_auto": "1",
                          "anual": "1",
                          "nombre_es": "Plan básico",
                          "nombre_eu": "Oinarrizko plana",
                          "precio_mensual": "5.99",
                          "precio_anual": "59.88",
                          "max_tickets_mes": "30",
                          "max_empresas": "1",
                          "max_facturacion": "6000",
                          "n_empresas": "1"
                        },
                        {
                          "id": "24",
                          "id_plan": "1",
                          "fecha_alta": "1648120433",
                          "fecha_fin": "1679656433",
                          "renovacion_auto": "1",
                          "anual": "1",
                          "nombre_es": "NIF adicional",
                          "nombre_eu": "IFZ Gehigarria",
                          "precio_mensual": "4.99",
                          "precio_anual": "59.88",
                          "max_tickets_mes": "0",
                          "max_empresas": "1",
                          "max_facturacion": "0",
                          "n_empresas": "1"
                        }
                      ],
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        },
        "security": [
          {
            "TokenDesarrollador": [],
            "NifCuenta": []
          }
        ]
      }
    },
    "/empresas/{nif}/": {
      "put": {
        "operationId": "empresasPut",
        "summary": "Editar datos empresa",
        "tags": [
          "Webhooks, empresas y licencias"
        ],
        "description": "**Credenciales de la cuenta de cliente:** este método usa el token de desarrollador de tu cuenta (no el de una empresa) en la cabecera `Token`, y el NIF de la cuenta en `Nif`.\n\nEste método permite editar una ficha de empresa",
        "externalDocs": {
          "description": "Documentación",
          "url": "https://ticketbaiws.eus/es/empresas-put/"
        },
        "servers": [
          {
            "url": "https://api.ticketbaiws.eus",
            "description": "Solo producción"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "nombre_social": {
                    "type": "string",
                    "description": "Nombre social de la empresa\n(*).",
                    "example": "Empresa de ejemplo S.L."
                  },
                  "nombre_comercial": {
                    "type": "string",
                    "description": "Nombre comercial de la empresa\n(*).",
                    "example": "Neumáticos Pepe"
                  },
                  "direccion": {
                    "type": "string",
                    "description": "Dirección de social de la empresa\n(*).",
                    "example": "Calle de ejemplo 123"
                  },
                  "poblacion": {
                    "type": "string",
                    "description": "Población social de la empresa\n(*).",
                    "example": "Vitoria-Gasteiz"
                  },
                  "provincia": {
                    "type": "string",
                    "description": "Provincia social de la empresa\n(*).",
                    "example": "Álava"
                  },
                  "cp": {
                    "type": "string",
                    "description": "Código postal social de la empresa\n(*).",
                    "example": "01001"
                  },
                  "email": {
                    "type": "string",
                    "description": "Email de contacto de la empresa\n(*).",
                    "example": "info@ejemplo.com"
                  },
                  "web": {
                    "type": "string",
                    "description": "Dirección de la página web de la empresa\n(*).",
                    "example": "www.ejemplo.com"
                  },
                  "epigrafe": {
                    "type": "string",
                    "description": "Epígrafe del IAE\n(*).",
                    "example": "301800"
                  },
                  "autorenovacion": {
                    "type": "string",
                    "description": "Auto-renovación de la licencia asociada\n(*).",
                    "example": "true"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Respuesta de la API. Comprueba siempre `result`: OK, PENDING o ERROR (el detalle va en `msg`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Respuesta"
                },
                "examples": {
                  "response": {
                    "summary": "Response",
                    "value": {
                      "result": "OK",
                      "return": {
                        "id": "999",
                        "id_licencia": "999",
                        "epigrafe": "",
                        "nombre_social": "Empresa de ejemplo S.L.",
                        "nombre_comercial": "Neumáticos Pepe",
                        "nif": "B01000012",
                        "direccion": "Calle de ejemplo 123",
                        "poblacion": "Vitoria-Gasteiz",
                        "provincia": "Álava",
                        "cp": "28080",
                        "email": "info@ejemplo.com",
                        "web": "www.ejemplo.com",
                        "token": "xxx",
                        "token_test": "xxx",
                        "autorenovacion": true
                      },
                      "msg": null
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NoEncontrado"
          },
          "429": {
            "$ref": "#/components/responses/DemasiadasPeticiones"
          }
        },
        "parameters": [
          {
            "name": "nif",
            "in": "path",
            "required": true,
            "description": "NIF de la empresa que se modifica",
            "schema": {
              "type": "string"
            },
            "example": "B01000012"
          }
        ],
        "security": [
          {
            "TokenDesarrollador": [],
            "NifCuenta": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "Token": {
        "type": "apiKey",
        "in": "header",
        "name": "Token",
        "description": "Token de la empresa. Hay uno para pruebas y otro para producción; están en el área privada."
      },
      "Nif": {
        "type": "apiKey",
        "in": "header",
        "name": "Nif",
        "description": "NIF de la empresa emisora a la que pertenece el token."
      },
      "TokenDesarrollador": {
        "type": "apiKey",
        "in": "header",
        "name": "Token",
        "description": "Token de desarrollador de la cuenta de cliente (área privada). Solo para los métodos de empresas y licencias."
      },
      "NifCuenta": {
        "type": "apiKey",
        "in": "header",
        "name": "Nif",
        "description": "NIF de la cuenta de cliente. Solo para los métodos de empresas y licencias."
      }
    },
    "schemas": {
      "Respuesta": {
        "type": "object",
        "required": [
          "result"
        ],
        "properties": {
          "result": {
            "type": "string",
            "enum": [
              "OK",
              "PENDING",
              "ERROR"
            ],
            "description": "OK: correcto. PENDING: aceptada y pendiente de envío (Verifactu en cola). ERROR: ver `msg`."
          },
          "return": {
            "description": "Datos devueltos (huella, QR, URL de cotejo, listados...). Su forma depende del método."
          },
          "msg": {
            "description": "Mensaje de estado o lista de errores.",
            "type": [
              "string",
              "array",
              "null"
            ]
          }
        }
      }
    },
    "responses": {
      "NoEncontrado": {
        "description": "Recurso o método HTTP no disponible."
      },
      "DemasiadasPeticiones": {
        "description": "Límite de peticiones superado (por NIF o por IP). Espera antes de reintentar y usa backoff."
      }
    }
  }
}