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

# List Programs

> Retrieves all programs of your school.



## OpenAPI

````yaml get /products
openapi: 3.0.1
info:
  title: SchoolMaker API V1
  description: API for managing your SchoolMaker school
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://schoolmaker.co/api/v1
    description: Production API
security:
  - bearerAuth: []
paths:
  /products:
    get:
      summary: List Programs
      description: Retrieves all programs of your school.
      parameters:
        - name: member_id
          in: query
          schema:
            type: string
        - name: member_email
          in: query
          schema:
            type: string
      responses:
        '200':
          description: List of programs
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        description:
                          type: string
                        is_published:
                          type: boolean
                        position:
                          type: integer
                        created_at:
                          type: string
                          format: date-time
                        updated_at:
                          type: string
                          format: date-time
                        progression:
                          type: object
                          description: >-
                            The progression-related elements will only be
                            displayed if you specify a member_id or member_email
                          properties:
                            total_steps:
                              type: integer
                              description: These are steps that are NOT optional
                            total_optional_steps:
                              type: integer
                            completed_steps:
                              type: integer
                              description: These are steps that are NOT optional
                            completed_optional_steps:
                              type: integer
                            progression_rate:
                              type: number
                            time_spent:
                              type: string
                            first_viewed_at:
                              type: string
                              format: date-time
                            last_viewed_at:
                              type: string
                              format: date-time
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````