{
    "openapi": "3.1.0",
    "info": {
        "title": "Event Gurus Public API",
        "version": "1.0.0",
        "description": "Public, read-only, zero-auth JSON API exposing Event Gurus' luxury Udaipur destination-wedding catalogue: venues, destinations, services and FAQs. No API key or sign-up required.",
        "contact": {
            "name": "Event Gurus",
            "url": "https://eventgurus.co.in/contact.php",
            "email": "info@eventgurus.co.in"
        },
        "license": {
            "name": "Proprietary"
        }
    },
    "servers": [
        {
            "url": "https://eventgurus.co.in",
            "description": "Production"
        }
    ],
    "externalDocs": {
        "description": "Developer portal",
        "url": "https://eventgurus.co.in/developers"
    },
    "paths": {
        "/api/health": {
            "get": {
                "operationId": "getHealth",
                "summary": "Service health",
                "description": "Liveness probe returning API status and version.",
                "tags": [
                    "system"
                ],
                "responses": {
                    "200": {
                        "description": "Service is healthy",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Health"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/venues": {
            "get": {
                "operationId": "listVenues",
                "summary": "List wedding venues",
                "description": "Returns the curated list of five-star palaces and resorts Event Gurus works with.",
                "tags": [
                    "catalog"
                ],
                "responses": {
                    "200": {
                        "description": "A list of venues",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Venue"
                                            }
                                        },
                                        "count": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "count"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/destinations": {
            "get": {
                "operationId": "listDestinations",
                "summary": "List wedding destinations",
                "description": "Returns the destinations (cities/countries) where Event Gurus plans weddings.",
                "tags": [
                    "catalog"
                ],
                "responses": {
                    "200": {
                        "description": "A list of destinations",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Destination"
                                            }
                                        },
                                        "count": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "count"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/services": {
            "get": {
                "operationId": "listServices",
                "summary": "List planning services",
                "description": "Returns the wedding-planning services Event Gurus offers.",
                "tags": [
                    "catalog"
                ],
                "responses": {
                    "200": {
                        "description": "A list of services",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Service"
                                            }
                                        },
                                        "count": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "count"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/faqs": {
            "get": {
                "operationId": "listFaqs",
                "summary": "List FAQs",
                "description": "Returns frequently asked questions and answers about destination-wedding planning.",
                "tags": [
                    "catalog"
                ],
                "responses": {
                    "200": {
                        "description": "A list of FAQs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Faq"
                                            }
                                        },
                                        "count": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "count"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "Health": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "example": "ok"
                    },
                    "service": {
                        "type": "string"
                    },
                    "version": {
                        "type": "string"
                    },
                    "time": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "status"
                ]
            },
            "Venue": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "image": {
                        "type": "string",
                        "format": "uri"
                    },
                    "url": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "required": [
                    "name",
                    "slug"
                ]
            },
            "Destination": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "image": {
                        "type": "string",
                        "format": "uri"
                    },
                    "url": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "required": [
                    "name",
                    "slug"
                ]
            },
            "Service": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "icon": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "required": [
                    "title",
                    "description"
                ]
            },
            "Faq": {
                "type": "object",
                "properties": {
                    "question": {
                        "type": "string"
                    },
                    "answer": {
                        "type": "string"
                    }
                },
                "required": [
                    "question",
                    "answer"
                ]
            },
            "Error": {
                "type": "object",
                "properties": {
                    "error": {
                        "type": "object",
                        "properties": {
                            "code": {
                                "type": "string"
                            },
                            "status": {
                                "type": "integer"
                            },
                            "message": {
                                "type": "string"
                            },
                            "hint": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }
    }
}