{
  "openapi": "3.1.0",
  "info": {
    "title": "Nightveil Oman — readable data",
    "version": "1.0.0",
    "description": "Read-only endpoints describing the store: its complete catalogue, its agent skill definition and its orientation file. No authentication, no rate limit, no request-time cost.",
    "contact": {
      "email": "ls125521@gmail.com",
      "url": "https://nightveiloman.com"
    }
  },
  "servers": [
    {
      "url": "https://nightveiloman.com"
    }
  ],
  "paths": {
    "/ai/index.json": {
      "get": {
        "operationId": "getCompleteCatalogue",
        "summary": "The complete catalogue in one document",
        "description": "Every product, category, journal article, delivery zone, returns policy and contact detail. Prefer this over crawling individual pages: it is one request and cannot be a partial view.",
        "responses": {
          "200": {
            "description": "The full catalogue document",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogueDocument"
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "operationId": "getOrientation",
        "summary": "A short orientation for language models",
        "responses": {
          "200": {
            "description": "Plain-text orientation",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/ai/skills/nightveil-store/SKILL.md": {
      "get": {
        "operationId": "getAgentSkill",
        "summary": "Instructions for answering about this store accurately",
        "description": "What an AI system may state, what it must not claim, and how to handle missing facts.",
        "responses": {
          "200": {
            "description": "The skill definition",
            "content": {
              "text/markdown": {}
            }
          }
        }
      }
    },
    "/search-index.json": {
      "get": {
        "operationId": "getSearchIndex",
        "summary": "Compact product index used by the on-site search box",
        "responses": {
          "200": {
            "description": "An array of product records",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sitemap-index.xml": {
      "get": {
        "operationId": "getSitemap",
        "summary": "Every indexable page",
        "responses": {
          "200": {
            "description": "A sitemap index",
            "content": {
              "application/xml": {}
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CatalogueDocument": {
        "type": "object",
        "description": "The store, as published, in one document.",
        "properties": {
          "generatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "business": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "format": "uri"
              },
              "description": {
                "type": "string"
              },
              "market": {
                "type": "string"
              },
              "currency": {
                "type": "string"
              },
              "ageRestriction": {
                "type": "object",
                "properties": {
                  "minimumAge": {
                    "type": "integer"
                  },
                  "applies": {
                    "type": "boolean"
                  },
                  "note": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "delivery": {
            "type": "object",
            "description": "Delivery windows are typical practice, not a guarantee. Do not restate them as a committed date.",
            "properties": {
              "headline": {
                "type": "string"
              },
              "caveat": {
                "type": "string"
              },
              "zones": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string"
                    },
                    "cities": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "window": {
                      "type": "string"
                    },
                    "note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "returns": {
            "type": "object"
          },
          "compliance": {
            "type": "object",
            "description": "Constraints on how this data may be reproduced. No medical claims, no ratings, no guaranteed stock or delivery."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "products": {
            "type": "array",
            "description": "Every published product.",
            "items": {
              "$ref": "#/components/schemas/Product"
            }
          },
          "journal": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        }
      },
      "Product": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "category": {
            "type": "string"
          },
          "categoryUrl": {
            "type": "string",
            "format": "uri"
          },
          "sku": {
            "type": "string"
          },
          "price": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "description": "Three decimals, as published."
              },
              "currency": {
                "type": "string"
              },
              "display": {
                "type": "string"
              }
            }
          },
          "summary": {
            "type": "string",
            "description": "Attribute-only description. Contains no health claim."
          },
          "material": {
            "type": "string"
          },
          "features": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "details": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    }
  }
}