{
    "openapi": "3.0.3",
    "info": {
        "title": "anyai.fyi public API",
        "version": "1"
    },
    "servers": [
        {
            "url": "https://t24.2442.io/app/api/v1"
        }
    ],
    "components": {
        "securitySchemes": {
            "bearer": {
                "type": "http",
                "scheme": "bearer",
                "description": "API key created by an anyai.fyi admin (anyai_…)."
            },
            "apiKey": {
                "type": "apiKey",
                "in": "header",
                "name": "X-Api-Key"
            }
        }
    },
    "security": [
        {
            "bearer": []
        },
        {
            "apiKey": []
        }
    ],
    "paths": {
        "/search/{query}": {
            "get": {
                "operationId": "searchTools",
                "summary": "Find AI tools for a task (natural language, any language).",
                "parameters": [
                    {
                        "name": "query",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Task description with dashes instead of spaces, e.g. email-marketing-with-ai. Optional filter segments may follow: /free, /freemium, /api, /open-source, /online."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Envelope {ok, data: tools[], meta}"
                    },
                    "401": {
                        "description": "API key missing or invalid"
                    },
                    "429": {
                        "description": "Rate limit of the key reached"
                    }
                }
            }
        },
        "/tools/{slug}": {
            "get": {
                "operationId": "getTool",
                "summary": "Details of one tool.",
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Envelope {ok, data: tool}"
                    },
                    "401": {
                        "description": "API key missing or invalid"
                    }
                }
            }
        }
    }
}