{
  "openapi": "3.1.0",
  "info": {
    "title": "Nextevo Homes API",
    "version": "1.0.0",
    "description": "Publiskais Nextevo Homes integrāciju API. Pašreizējā versija nodrošina Zalktis rēķinu XML nolasīšanu."
  },
  "servers": [
    {
      "url": "https://nextevohomes.lv",
      "description": "Production"
    }
  ],
  "paths": {
    "/api/v1/zalktis/invoices": {
      "get": {
        "summary": "Nolasīt rēķinus Zalktis XML formātā",
        "description": "Atlasa tokenam piesaistītā namsaimnieka rēķinus pēc invoices.issue_date. Draft un cancelled rēķini netiek iekļauti. Ja vismaz viens rēķins neiziet Zalktis validāciju, tiek atgriezts 422 un daļējs XML netiek izdots.",
        "operationId": "getZalktisInvoices",
        "tags": [
          "Zalktis"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "date_from",
            "in": "query",
            "required": true,
            "description": "Rēķina izrakstīšanas datums no (ieskaitot).",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-08-17"
          },
          {
            "name": "date_to",
            "in": "query",
            "required": true,
            "description": "Rēķina izrakstīšanas datums līdz (ieskaitot). Maksimālais intervāls ir 366 dienas.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-08-17"
          }
        ],
        "responses": {
          "200": {
            "description": "Veiksmīga Zalktis XML atbilde. Ja atlasē nav rēķinu, XML satur FailaPase bez Dokuments elementiem.",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string"
                },
                "example": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Root>\n  <FailaPase>\n    <Pamats>Zalktis</Pamats>\n    <DatuAvots>Nextevo Homes</DatuAvots>\n    <xmlversion>v2</xmlversion>\n  </FailaPase>\n</Root>"
              }
            }
          },
          "400": {
            "description": "Nederīgs datumu intervāls vai intervāls pārsniedz 366 dienas.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Nav derīgas Bearer autentifikācijas.",
            "headers": {
              "WWW-Authenticate": {
                "description": "Bearer autentifikācijas izaicinājums.",
                "schema": {
                  "type": "string",
                  "example": "Bearer realm=\"Nextevo Homes API\""
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Zalktis API integrācija namsaimniekam nav ieslēgta.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "Atbalstīta tikai GET metode.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Vismaz viens rēķins neiziet Zalktis eksporta validāciju.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "error": "invoice_validation_failed",
                  "message": "123/2608: Klientam nav personas koda/reģistrācijas numura."
                }
              }
            }
          },
          "500": {
            "description": "XML ģenerēšanas kļūda.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Nextevo Homes administrācijā ģenerēts API tokens. Katrs tokens ir piesaistīts vienam namsaimniekam."
      }
    },
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "required": [
          "error",
          "message"
        ],
        "properties": {
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      }
    }
  }
}
