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

# Discover public marketplace programs



## OpenAPI

````yaml /openapi.json get /marketplace/programs
openapi: 3.1.0
info:
  title: AgentRef REST API
  version: 1.0.0
  description: >-
    REST API v1 for merchants and affiliates. Authentication via API keys
    (Authorization: Bearer ak_...).
servers:
  - url: /api/v1
    description: Current API version
security:
  - ApiKeyAuth: []
tags:
  - name: Auth
  - name: Onboarding
  - name: Programs
  - name: Merchant
  - name: Applications
  - name: Affiliates
  - name: Me
  - name: Coupons
  - name: Invites
  - name: Conversions
  - name: Payouts
  - name: Flags
  - name: Billing
  - name: Marketplace
  - name: Marketing Resources
  - name: Notifications
  - name: Webhooks
  - name: Docs
  - name: Meta
paths:
  /marketplace/programs:
    get:
      tags:
        - Marketplace
      summary: Discover public marketplace programs
      operationId: listMarketplacePrograms
      parameters:
        - name: category
          in: query
          required: false
          schema:
            type: string
        - name: minCommission
          in: query
          required: false
          schema:
            type: number
            minimum: 0
            maximum: 100
        - name: minEpc
          in: query
          required: false
          schema:
            type: number
            minimum: 0
        - name: sort
          in: query
          required: false
          schema:
            type: string
            enum:
              - epc
              - conversionRate
              - commission
              - newest
        - $ref: '#/components/parameters/CursorParam'
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 50
        - $ref: '#/components/parameters/PageParam'
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 50
        - $ref: '#/components/parameters/OffsetParam'
      responses:
        '200':
          $ref: 85fabc90-cdba-449b-bdb9-5d1c52beff35
        '403':
          $ref: '#/components/responses/ErrorResponse'
components:
  parameters:
    CursorParam:
      name: cursor
      in: query
      required: false
      schema:
        type: string
    PageParam:
      name: page
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
    OffsetParam:
      name: offset
      in: query
      required: false
      schema:
        type: integer
        minimum: 0
  responses:
    ErrorResponse:
      description: Error response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details:
              type: object
              additionalProperties: true
          required:
            - code
            - message
        meta:
          $ref: '#/components/schemas/RequestMeta'
      required:
        - error
        - meta
    RequestMeta:
      type: object
      properties:
        requestId:
          type: string
      required:
        - requestId
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'Use API key as Bearer token, for example: Bearer ak_live_xxx'

````