> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moca.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Search catalog

> Performs a MySQL full-text search (natural language mode) across three entity types in parallel — credentials (matched on ID, name, category, and schema), issuers (matched on name and short name), and verification programs (matched on program name). Returns grouped results with relevance scores, paginated independently per group.



## OpenAPI

````yaml GET /catalog/search
openapi: 3.0.3
info:
  title: Moca Network API
  description: >-
    Server-to-server API for credential issuance, status tracking, catalog
    browsing, and partner operations on the Moca Network.
  version: 1.0.0
  contact:
    name: Moca Network
    url: https://moca.network
servers:
  - url: https://api.sandbox.mocachain.org/v1
    description: Sandbox
  - url: https://mocachain-mainnet.api.air3.com/v1
    description: Production
security:
  - partnerJwt: []
paths:
  /catalog/search:
    get:
      tags:
        - Catalog
      summary: Search catalog
      description: >-
        Performs a MySQL full-text search (natural language mode) across three
        entity types in parallel — credentials (matched on ID, name, category,
        and schema), issuers (matched on name and short name), and verification
        programs (matched on program name). Returns grouped results with
        relevance scores, paginated independently per group.
      operationId: searchCatalog
      parameters:
        - name: q
          in: query
          required: true
          description: Search query string.
          schema:
            type: string
            maxLength: 200
          example: age
        - $ref: '#/components/parameters/Page'
        - name: limit
          in: query
          required: false
          description: Results per group (default 10, max 50).
          schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 10
      responses:
        '200':
          description: Grouped search results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogApiResponse'
              example:
                code: 80000000
                msg: success
                data:
                  credentials:
                    items:
                      - credentialId: c21s70g0i54sn0023172Cv
                        name: Age Verification
                        category: identity
                        relevance: 0.95
                        issuer:
                          issuerId: iss_01
                          name: Acme Corp
                    total: 1
                  issuers:
                    items: []
                    total: 0
                  programs:
                    items:
                      - programId: prg_01
                        name: Age Gate
                        verificationCount: 85
                        relevance: 0.88
                    total: 1
                  meta:
                    query: age
                    totalResults: 2
                timestamp: 1772530828000
      security: []
      servers:
        - url: https://api.sandbox.mocachain.org/v1
          description: Sandbox (only environment available during pilot)
components:
  parameters:
    Page:
      name: page
      in: query
      required: false
      description: Page number (starts from 1).
      schema:
        type: integer
        minimum: 1
        default: 1
  schemas:
    CatalogApiResponse:
      type: object
      description: Standard API response envelope used by all Catalog endpoints.
      properties:
        code:
          type: integer
          description: Response code. `80000000` indicates success.
          example: 80000000
        msg:
          type: string
          description: Human-readable status message.
          example: success
        data:
          description: Response payload. Shape varies per endpoint.
        timestamp:
          type: integer
          description: UNIX timestamp in milliseconds.
          example: 1772530828000
  securitySchemes:
    partnerJwt:
      type: apiKey
      in: header
      name: x-partner-auth
      description: >-
        A signed Partner JWT containing `partnerId`, `email`, `scope`, and `exp`
        claims. See [Partner
        Authentication](/airkit/usage/partner-authentication) for setup.

````