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

# Browse programs

> Returns a paginated list of verification programs with their total verification count and the number of distinct credential types they accept. Only programs marked as discoverable are included. Results are sortable by `created_at`, `verification_count`, `credential_count`, or `name` (default `created_at`).



## OpenAPI

````yaml GET /catalog/programs
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/programs:
    get:
      tags:
        - Catalog
      summary: Browse programs
      description: >-
        Returns a paginated list of verification programs with their total
        verification count and the number of distinct credential types they
        accept. Only programs marked as discoverable are included. Results are
        sortable by `created_at`, `verification_count`, `credential_count`, or
        `name` (default `created_at`).
      operationId: listPrograms
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/SortBy'
        - $ref: '#/components/parameters/SortOrder'
      responses:
        '200':
          description: Paginated list of programs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogApiResponse'
              example:
                code: 80000000
                msg: success
                data:
                  current: 1
                  pages: 3
                  size: 10
                  total: 24
                  records:
                    - programId: prg_01
                      name: Age Gate
                      description: Verify user meets minimum age requirement
                      verificationCount: 85
                      credentialCount: 2
                      createdAt: '2026-02-01T08:00:00Z'
                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
    Limit:
      name: limit
      in: query
      required: false
      description: Results per page (max 100).
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
    SortBy:
      name: sortBy
      in: query
      required: false
      description: Field to sort by.
      schema:
        type: string
    SortOrder:
      name: sortOrder
      in: query
      required: false
      description: Sort direction.
      schema:
        type: string
        enum:
          - ASC
          - DESC
        default: DESC
  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.

````