Skip to main content
POST
/
api
/
v1
/
recipes
/
search
Search recipes
import requests

url = "https://api.example.com/api/v1/recipes/search"

payload = {
    "query": "",
    "source": "knowledge",
    "limit": 1,
    "chain": "<string>",
    "token": "<string>",
    "keywords": ["<string>"],
    "search_type": "keyword"
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
{
  "result": {
    "source": "knowledge",
    "data": {}
  },
  "success": true,
  "suggestion": "",
  "message": "",
  "meta": {
    "total": 123,
    "offset": 123,
    "limit": 123,
    "has_more": true,
    "after": "<string>",
    "before": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://cobo.com/products/agentic-wallet/manual/llms.txt

Use this file to discover all available pages before exploring further.

Headers

X-API-Key
string | null

Body

application/json

Request payload for recipe knowledge-base search.

query
string
default:""

Natural language search query (optional)

source
enum<string>
default:knowledge

Search source (only 'knowledge' is supported)

Available options:
knowledge
limit
integer | null
default:1

Max results for knowledge search

chain
string | null

Filter recipes by chain symbol (e.g. 'ethereum', 'solana', 'bitcoin')

token
string | null

Filter recipes by token symbol (e.g. 'ETH', 'USDT', 'BTC')

keywords
string[] | null

List of keywords for filtering documents during keyword search

search_type
enum<string> | null
default:keyword

Search type: 'vector', 'keyword', or 'hybrid'

Available options:
vector,
keyword,
hybrid

Response

Successful Response

result
RecipeSearchResponse · object
required

Unified search response envelope.

success
boolean
default:true
suggestion
string
default:""
message
string
default:""
meta
PaginationMeta · object

Pagination metadata for list responses.

Supports both legacy offset-based and cursor-based pagination. Cursor fields (has_more, after, before) are populated for cursor-paginated endpoints. Legacy fields (offset, limit) are populated when the caller uses the deprecated offset parameter.