cicora.ai
API specificationFresh sources

Web search

Retrieve fresh sources through a client-executed `web_search` function and keep links separate from generated text.

Integration reference: choose parameters and available capabilities from your account API settings and the model catalogue for your environment.

Describe the client function

Send `web_search` as a standard function tool in the tools array, as in the example. The model only requests the call; your application executes search through a permitted source.

After execution, return a normalized result to the model in a role `tool` message with the matching tool_call_id. Model text does not replace a source: retain URL, title, date, and context.

Client-executed web search function
json
{
  "model": "openai/gpt-5.6-sol",
  "messages": [{"role": "user", "content": "Find current primary sources for this topic."}],
  "tools": [{
    "type": "function",
    "function": {
      "name": "web_search",
      "description": "Search permitted sources for current information.",
      "parameters": {
        "type": "object",
        "properties": {"query": {"type": "string"}},
        "required": ["query"],
        "additionalProperties": false
      }
    }
  }]
}

Reliable answer

  • Validate the function name and query argument before executing search.
  • Show a user links near claims when the workflow requires verification.
  • Restrict domains or the task on the product side when your organization policy requires it.

Cost and journal

Track search spend in your function executor separately from model tokens.

Do not automatically repeat search after partial output: first determine which sources already arrived and what the user saw.