> ## 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.

# Search recipes

> Search the recipe library using natural language via the knowledge hub. Optionally filter results by `chain` or `token`.



## OpenAPI

````yaml post /api/v1/recipes/search
openapi: 3.1.0
info:
  title: Cobo Agentic Wallet Service
  description: Unified wallet engine for human and agent principals
  version: 1.3.0
servers: []
security: []
paths:
  /api/v1/recipes/search:
    post:
      tags:
        - Recipes
      summary: Search recipes
      description: >-
        Search the recipe library using natural language via the knowledge hub.
        Optionally filter results by `chain` or `token`.
      operationId: search_recipes
      parameters:
        - name: X-API-Key
          in: header
          required: false
          schema:
            title: X-Api-Key
            type: string
            nullable: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRecipesRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse_RecipeSearchResponse_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WrappedValidationError'
components:
  schemas:
    SearchRecipesRequest:
      properties:
        query:
          type: string
          title: Query
          description: Natural language search query (optional)
          default: ''
        source:
          $ref: '#/components/schemas/RecipeSearchSource'
          description: Search source (only 'knowledge' is supported)
          default: knowledge
        limit:
          title: Limit
          description: Max results for knowledge search
          default: 1
          type: integer
          nullable: true
        chain:
          title: Chain
          description: >-
            Filter recipes by chain symbol (e.g. 'ethereum', 'solana',
            'bitcoin')
          type: string
          nullable: true
        token:
          title: Token
          description: Filter recipes by token symbol (e.g. 'ETH', 'USDT', 'BTC')
          type: string
          nullable: true
        keywords:
          title: Keywords
          description: List of keywords for filtering documents during keyword search
          items:
            type: string
          type: array
          nullable: true
        search_type:
          $ref: '#/components/schemas/KnowledgeSearchType'
          description: 'Search type: ''vector'', ''keyword'', or ''hybrid'''
          default: keyword
          nullable: true
        wallet_id:
          title: Wallet Id
          description: >-
            Wallet UUID. When provided, active pacts that reference each matched
            recipe are embedded as `matching_pacts` in each result item.
          type: string
          format: uuid
          nullable: true
      type: object
      title: SearchRecipesRequest
      description: Request payload for recipe knowledge-base search.
    StandardResponse_RecipeSearchResponse_:
      properties:
        success:
          type: boolean
          title: Success
          default: true
        result:
          $ref: '#/components/schemas/RecipeSearchResponse'
        suggestion:
          type: string
          title: Suggestion
          default: ''
        message:
          type: string
          title: Message
          default: ''
        meta:
          $ref: '#/components/schemas/PaginationMeta'
          nullable: true
      type: object
      required:
        - result
      title: StandardResponse[RecipeSearchResponse]
    WrappedValidationError:
      title: WrappedValidationError
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          const: false
          default: false
          title: Success
        error:
          type: object
          title: Error
          required:
            - detail
          properties:
            detail:
              type: array
              title: Detail
              items:
                $ref: '#/components/schemas/ValidationError'
    RecipeSearchSource:
      type: string
      enum:
        - knowledge
      title: RecipeSearchSource
    KnowledgeSearchType:
      type: string
      enum:
        - vector
        - keyword
        - hybrid
      title: KnowledgeSearchType
    RecipeSearchResponse:
      properties:
        source:
          $ref: '#/components/schemas/RecipeSearchSource'
        data:
          additionalProperties: true
          type: object
          title: Data
          description: Source-specific search payload
      type: object
      required:
        - source
        - data
      title: RecipeSearchResponse
      description: Unified search response envelope.
    PaginationMeta:
      properties:
        total:
          title: Total
          type: integer
          nullable: true
        offset:
          title: Offset
          type: integer
          nullable: true
        limit:
          title: Limit
          type: integer
          nullable: true
        has_more:
          title: Has More
          type: boolean
          nullable: true
        after:
          title: After
          type: string
          nullable: true
        before:
          title: Before
          type: string
          nullable: true
      type: object
      title: PaginationMeta
      description: |-
        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.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````