{
  "openapi": "3.1.0",
  "info": {
    "title": "Rivkai API",
    "version": "0.1.0",
    "description": "Jewish ritual, calendar and sacred-time context for LLMs, AI agents and autonomous systems.",
    "contact": {
      "name": "IVEON.AI",
      "url": "https://www.iveon.ai"
    }
  },
  "servers": [
    {
      "url": "https://rivkai.org"
    }
  ],
  "paths": {
    "/v1/shabbat-status": {
      "get": {
        "summary": "Get Shabbat status for a supported city",
        "parameters": [
          {
            "name": "city",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "Jerusalem"
          }
        ],
        "responses": {
          "200": {
            "description": "Current or upcoming Shabbat status",
            "content": {
              "application/json": {
                "example": {
                  "service": "Rivkai.org",
                  "type": "shabbat_status",
                  "city": "Jerusalem",
                  "country": "Israel",
                  "timezone": "Asia/Jerusalem",
                  "current_time_local": "2026-06-06T16:00:00+03:00",
                  "is_shabbat": true,
                  "shabbat_status": "active",
                  "next_candle_lighting": "2026-06-05T19:01:00+03:00",
                  "next_havdalah": "2026-06-06T20:24:00+03:00",
                  "calculation_provider": "Hebcal",
                  "maintained_by": "IVEON.AI"
                }
              }
            }
          },
          "404": {
            "description": "Unknown city"
          },
          "503": {
            "description": "Provider data temporarily unavailable"
          }
        }
      }
    },
    "/v1/cities": {
      "get": {
        "summary": "List supported Rivkai cities",
        "responses": {
          "200": {
            "description": "Supported city registry"
          }
        }
      }
    },
    "/v1/status": {
      "get": {
        "summary": "Get Rivkai service status",
        "responses": {
          "200": {
            "description": "Service status"
          }
        }
      }
    }
  }
}