{
    "openapi": "3.1.0",
    "info": {
        "title": "ingrafo Multidisciplinary Studio & Agent API",
        "version": "7.2.1",
        "summary": "Machine-readable service catalog, grounded ai.grafo B2B advisor, and Streamable HTTP MCP server for ingrafo (ingrafo.net).",
        "description": "Official public & OAuth2-discoverable API for ingrafo (Wrocław, Poland — Est. 2001): Business AI & RAG, custom CMS & e-commerce engineering, WordPress/Joomla/OpenCart plugins, SEO/GEO, Cybersecurity & 24/7 SOS malware rescue, Creative Agency, 2D/3D print, precision laser cutting, bespoke awards/stamps, and 4K drone cinematography."
    },
    "servers": [
        {
            "url": "https://ingrafo.net",
            "description": "Production HTTPS origin"
        }
    ],
    "paths": {
        "/api/status": {
            "get": {
                "operationId": "getStudioStatus",
                "summary": "Health and version status of ingrafo studio endpoints",
                "responses": {
                    "200": {
                        "description": "Operational health payload"
                    }
                }
            }
        },
        "/api/catalog": {
            "get": {
                "operationId": "searchStudioCatalog",
                "summary": "List or search ingrafo 6 departments and 18 B2B services in PL or EN",
                "parameters": [
                    {
                        "name": "lang",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pl",
                                "en"
                            ],
                            "default": "en"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "pillar",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Matching studio pillars and services"
                    }
                }
            }
        },
        "/api/agent/ask": {
            "post": {
                "operationId": "askAigrafoAdvisor",
                "summary": "Ask ai.grafo grounded studio advisor a B2B scope, stack, or 24/7 SOS question",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "message"
                                ],
                                "properties": {
                                    "message": {
                                        "type": "string",
                                        "maxLength": 1000
                                    },
                                    "lang": {
                                        "type": "string",
                                        "enum": [
                                            "pl",
                                            "en"
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Grounded advisor response and recommended service cards"
                    }
                }
            }
        },
        "/api/mcp": {
            "post": {
                "operationId": "invokeMcpJsonRpc",
                "summary": "Model Context Protocol (MCP) JSON-RPC 2.0 Streamable HTTP endpoint",
                "responses": {
                    "200": {
                        "description": "JSON-RPC 2.0 response"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "oauth2": {
                "type": "oauth2",
                "flows": {
                    "clientCredentials": {
                        "tokenUrl": "https://ingrafo.net/api/oauth/token",
                        "scopes": {
                            "catalog:read": "Read and search studio service catalog",
                            "advisor:ask": "Query the grounded ai.grafo B2B advisor",
                            "brief:draft": "Prepare project brief payloads"
                        }
                    }
                }
            }
        }
    }
}
