{
  "openapi": "3.1.0",
  "info": {
    "title": "warpgogol agent surface",
    "version": "1.1.0",
    "x-gogol-content-hash": "ffdffc7a7abcb3e75e3a8384241e965c3ec97bcc70d5e4a59e34552ca21765be"
  },
  "servers": [
    {
      "url": "https://warpgogol.com"
    }
  ],
  "paths": {
    "/api/agent/v1/company.json": {
      "get": {
        "operationId": "knowledge.company.get",
        "tags": [
          "knowledge"
        ],
        "responses": {
          "200": {
            "description": "company knowledge envelope",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge-company"
                }
              }
            }
          }
        }
      }
    },
    "/api/agent/v1/contact.json": {
      "get": {
        "operationId": "knowledge.contact.get",
        "tags": [
          "knowledge"
        ],
        "responses": {
          "200": {
            "description": "contact knowledge envelope",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge-contact"
                }
              }
            }
          }
        }
      }
    },
    "/api/agent/v1/legal.json": {
      "get": {
        "operationId": "knowledge.legal.get",
        "tags": [
          "knowledge"
        ],
        "responses": {
          "200": {
            "description": "legal knowledge envelope",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge-legal"
                }
              }
            }
          }
        }
      }
    },
    "/api/agent/v1/location.json": {
      "get": {
        "operationId": "knowledge.location.get",
        "tags": [
          "knowledge"
        ],
        "responses": {
          "200": {
            "description": "location knowledge envelope",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge-location"
                }
              }
            }
          }
        }
      }
    },
    "/api/agent/v1/offer.json": {
      "get": {
        "operationId": "knowledge.offer.get",
        "tags": [
          "knowledge"
        ],
        "responses": {
          "200": {
            "description": "offer knowledge envelope",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge-offer"
                }
              }
            }
          }
        }
      }
    },
    "/api/agent/v1/people.json": {
      "get": {
        "operationId": "knowledge.people.get",
        "tags": [
          "knowledge"
        ],
        "responses": {
          "200": {
            "description": "people knowledge envelope",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge-people"
                }
              }
            }
          }
        }
      }
    },
    "/api/agent/actions/lead.submit": {
      "post": {
        "operationId": "action.lead.submit",
        "summary": "Anfrage senden",
        "tags": [
          "actions"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "email",
                  "message"
                ],
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "email": {
                    "type": "string",
                    "format": "email",
                    "maxLength": 254
                  },
                  "message": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 5000
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "lead.submit accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "accepted"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "accepted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Schema violation"
          },
          "429": {
            "description": "Rate limit exceeded"
          }
        }
      }
    },
    "/api/agent/search": {
      "get": {
        "operationId": "search.query",
        "summary": "Semantic search over site content",
        "tags": [
          "search"
        ],
        "responses": {
          "200": {
            "description": "Search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/search-response"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query"
          },
          "503": {
            "description": "Search index not available"
          }
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 1000
            },
            "description": "Natural language search query"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "de",
                "uk"
              ]
            },
            "description": "Filter by language"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "page",
                "knowledge",
                "faq",
                "prose"
              ]
            },
            "description": "Filter by content type"
          },
          {
            "name": "topK",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 5,
              "maximum": 20
            },
            "description": "Number of results to return"
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "knowledge-company": {
        "type": "object",
        "required": [
          "schema",
          "site",
          "baseUrl",
          "languages",
          "contentHash",
          "data"
        ],
        "properties": {
          "schema": {
            "type": "string"
          },
          "site": {
            "type": "string"
          },
          "baseUrl": {
            "type": "string"
          },
          "languages": {
            "type": "object"
          },
          "contentHash": {
            "type": "string"
          },
          "freshness": {
            "type": "object"
          },
          "data": {
            "type": "object",
            "description": "Per-language payload; shape varies by domain."
          }
        }
      },
      "knowledge-contact": {
        "type": "object",
        "required": [
          "schema",
          "site",
          "baseUrl",
          "languages",
          "contentHash",
          "data"
        ],
        "properties": {
          "schema": {
            "type": "string"
          },
          "site": {
            "type": "string"
          },
          "baseUrl": {
            "type": "string"
          },
          "languages": {
            "type": "object"
          },
          "contentHash": {
            "type": "string"
          },
          "freshness": {
            "type": "object"
          },
          "data": {
            "type": "object",
            "description": "Per-language payload; shape varies by domain."
          }
        }
      },
      "knowledge-legal": {
        "type": "object",
        "required": [
          "schema",
          "site",
          "baseUrl",
          "languages",
          "contentHash",
          "data"
        ],
        "properties": {
          "schema": {
            "type": "string"
          },
          "site": {
            "type": "string"
          },
          "baseUrl": {
            "type": "string"
          },
          "languages": {
            "type": "object"
          },
          "contentHash": {
            "type": "string"
          },
          "freshness": {
            "type": "object"
          },
          "data": {
            "type": "object",
            "description": "Per-language payload; shape varies by domain."
          }
        }
      },
      "knowledge-location": {
        "type": "object",
        "required": [
          "schema",
          "site",
          "baseUrl",
          "languages",
          "contentHash",
          "data"
        ],
        "properties": {
          "schema": {
            "type": "string"
          },
          "site": {
            "type": "string"
          },
          "baseUrl": {
            "type": "string"
          },
          "languages": {
            "type": "object"
          },
          "contentHash": {
            "type": "string"
          },
          "freshness": {
            "type": "object"
          },
          "data": {
            "type": "object",
            "description": "Per-language payload; shape varies by domain."
          }
        }
      },
      "knowledge-offer": {
        "type": "object",
        "required": [
          "schema",
          "site",
          "baseUrl",
          "languages",
          "contentHash",
          "data"
        ],
        "properties": {
          "schema": {
            "type": "string"
          },
          "site": {
            "type": "string"
          },
          "baseUrl": {
            "type": "string"
          },
          "languages": {
            "type": "object"
          },
          "contentHash": {
            "type": "string"
          },
          "freshness": {
            "type": "object"
          },
          "data": {
            "type": "object",
            "description": "Per-language payload; shape varies by domain."
          }
        }
      },
      "knowledge-people": {
        "type": "object",
        "required": [
          "schema",
          "site",
          "baseUrl",
          "languages",
          "contentHash",
          "data"
        ],
        "properties": {
          "schema": {
            "type": "string"
          },
          "site": {
            "type": "string"
          },
          "baseUrl": {
            "type": "string"
          },
          "languages": {
            "type": "object"
          },
          "contentHash": {
            "type": "string"
          },
          "freshness": {
            "type": "object"
          },
          "data": {
            "type": "object",
            "description": "Per-language payload; shape varies by domain."
          }
        }
      },
      "lead.submit-input": {
        "type": "object",
        "required": [
          "name",
          "email",
          "message"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "message": {
            "type": "string",
            "minLength": 1,
            "maxLength": 5000
          }
        }
      },
      "lead.submit-output": {
        "type": "object",
        "required": [
          "accepted"
        ],
        "additionalProperties": false,
        "properties": {
          "accepted": {
            "type": "boolean"
          }
        }
      },
      "search-response": {
        "type": "object",
        "required": [
          "query",
          "results",
          "tookMs"
        ],
        "properties": {
          "query": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "chunk": {
                  "type": "object"
                },
                "score": {
                  "type": "number"
                }
              }
            }
          },
          "tookMs": {
            "type": "number"
          }
        }
      }
    }
  },
  "externalDocs": {
    "url": "https://warpgogol.com/llms.txt",
    "description": "LLM-oriented text surface"
  },
  "x-gogol-mcp": {
    "url": "/api/agent/mcp",
    "protocolVersion": "2025-06-18"
  }
}
