---
updatedAt: 2026-07-24T12:37:19.000Z
agentTools:
  projectIndex: https://docs.conveyor.com/llms.txt
---

# GET Knowledge Base Search

Searches the knowledge base for curated Q&As and past questionnaire answers matching a text query. Returns results from both the curated knowledge base and historical questionnaire answers. Answers are truncated to 500 characters. Authentication: API key or OAuth.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "portal-api",
    "version": "2.0"
  },
  "servers": [
    {
      "url": "https://api.conveyor.com/api"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-KEY"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/v2/knowledge_base/search": {
      "get": {
        "operationId": "get_v2-knowledge-base-search",
        "summary": "GET Knowledge Base Search",
        "description": "Searches the knowledge base for curated Q&As and past questionnaire answers matching a text query. Returns results from both the curated knowledge base and historical questionnaire answers. Answers are truncated to 500 characters. Authentication: API key or OAuth.",
        "parameters": [
          {
            "name": "query_text",
            "in": "query",
            "required": true,
            "description": "The search query text.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_line_ids",
            "in": "query",
            "required": false,
            "description": "Filter results by product line IDs. Accepts a string or an array of strings.",
            "schema": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Knowledge Base search results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "total",
                    "results"
                  ],
                  "properties": {
                    "total": {
                      "type": "integer",
                      "description": "Number of results returned."
                    },
                    "results": {
                      "type": "array",
                      "description": "Search result objects.",
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "type",
                          "question",
                          "created_at",
                          "updated_at"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Question ID."
                          },
                          "type": {
                            "type": "string",
                            "description": "Result source type.",
                            "enum": [
                              "curated_qa",
                              "past_answer"
                            ]
                          },
                          "question": {
                            "type": "string",
                            "description": "The question text."
                          },
                          "answer": {
                            "type": "string",
                            "nullable": true,
                            "description": "The answer text, truncated to 500 characters."
                          },
                          "status": {
                            "type": "string",
                            "nullable": true,
                            "description": "Question status. Present for curated_qa results only."
                          },
                          "categories": {
                            "type": "array",
                            "nullable": true,
                            "description": "Category names. Present for curated_qa results only.",
                            "items": {
                              "type": "string"
                            }
                          },
                          "product_lines": {
                            "type": "array",
                            "nullable": true,
                            "description": "Product line objects. Present for curated_qa results only.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "description": "Product line ID."
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Product line name."
                                }
                              }
                            }
                          },
                          "questionnaire_name": {
                            "type": "string",
                            "nullable": true,
                            "description": "Source questionnaire name. Present for past_answer results only."
                          },
                          "created_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "When the question was created."
                          },
                          "updated_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "When the question was last updated."
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "Result": {
                    "value": {
                      "total": 2,
                      "results": [
                        {
                          "id": "abc-123",
                          "type": "curated_qa",
                          "question": "Do you encrypt data at rest?",
                          "answer": "Yes, we use AES-256 encryption for all data at rest.",
                          "status": "verified",
                          "categories": [
                            "Security"
                          ],
                          "product_lines": [
                            {
                              "id": "pl-1",
                              "name": "Core Platform"
                            }
                          ],
                          "created_at": "2026-01-15T00:00:00Z",
                          "updated_at": "2026-06-01T00:00:00Z"
                        },
                        {
                          "id": "def-456",
                          "type": "past_answer",
                          "question": "Describe your incident response process.",
                          "answer": "We follow a documented incident response plan...",
                          "questionnaire_name": "Acme Corp Security Review",
                          "created_at": "2026-03-10T00:00:00Z",
                          "updated_at": "2026-03-10T00:00:00Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "query_text is missing or product_line_ids are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "description": "Error message."
                    }
                  }
                },
                "examples": {
                  "Invalid request": {
                    "value": {
                      "error": "query_text is required"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized: missing or invalid credentials.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "description": "Error message."
                    }
                  }
                },
                "examples": {
                  "Unauthorized": {
                    "value": {
                      "error": "Unauthorized"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden: insufficient permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "description": "Error message."
                    }
                  }
                },
                "examples": {
                  "Forbidden": {
                    "value": {
                      "error": "Forbidden"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": false,
    "proxy-enabled": false
  },
  "x-readme-fauxas": true
}
```