> ## 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 Community Comments

> Retrieves comments from a community post. Supply parent_comment_id to retrieve replies to a comment.



## OpenAPI

````yaml get /community/posts/{post_id}/comments
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:
  /community/posts/{post_id}/comments:
    get:
      tags:
        - Community
      summary: List Community Comments
      description: >-
        Retrieves comments from a community post. Supply parent_comment_id to
        retrieve replies to a comment.
      parameters:
        - name: post_id
          in: path
          required: true
          description: Post ID.
          schema:
            type: string
            minLength: 1
            maxLength: 255
        - name: page
          in: query
          required: false
          description: Page number.
          schema:
            type: integer
            minimum: 1
            maximum: 10000
            default: 1
        - name: per_page
          in: query
          required: false
          description: Number of results per page. Maximum 30.
          schema:
            type: integer
            minimum: 1
            maximum: 30
            default: 30
        - name: parent_comment_id
          in: query
          required: false
          description: Optional top-level comment ID from this post, to list its replies.
          schema:
            type: string
            minLength: 1
            maxLength: 255
        - name: sort
          in: query
          required: false
          description: >-
            Comment order. Most popular uses reactions and replies. Latest
            activity uses recent activity. Replies remain oldest first for those
            two options.
          schema:
            type: string
            enum:
              - oldest
              - newest
              - most_popular
              - latest_activity
            default: oldest
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                required:
                  - comments
                  - pagination
                properties:
                  comments:
                    type: array
                    maxItems: 30
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 255
                        post_id:
                          type: string
                          minLength: 1
                          maxLength: 255
                        parent_comment_id:
                          type: string
                          nullable: true
                        reply_count:
                          type: integer
                        author:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 255
                            type:
                              type: string
                            name:
                              type: string
                            email:
                              type: string
                            first_name:
                              type: string
                            last_name:
                              type: string
                            profile_picture_url:
                              type: string
                              nullable: true
                            last_seen_at:
                              type: string
                              format: date-time
                              nullable: true
                            created_at:
                              type: string
                              format: date-time
                              nullable: true
                            updated_at:
                              type: string
                              format: date-time
                              nullable: true
                        body:
                          type: string
                        created_at:
                          type: string
                          format: date-time
                          nullable: true
                  pagination:
                    type: object
                    required:
                      - current_page
                      - total_pages
                      - total_count
                    properties:
                      current_page:
                        type: integer
                      total_pages:
                        type: integer
                      total_count:
                        type: integer
              example:
                comments:
                  - id: 44444444-4444-4444-8444-444444444444
                    post_id: 22222222-2222-4222-8222-222222222222
                    parent_comment_id: null
                    reply_count: 0
                    author:
                      id: 11111111-1111-4111-8111-111111111111
                      type: User
                      name: Jamie Example
                      email: jamie@example.com
                      first_name: Jamie
                      last_name: Example
                      profile_picture_url: null
                      last_seen_at: null
                      created_at: '2026-10-02T00:00:00Z'
                      updated_at: '2026-10-02T00:00:00Z'
                    body: <p>Thanks for sharing!</p>
                    created_at: '2026-10-02T00:10:00Z'
                pagination:
                  current_page: 1
                  total_pages: 1
                  total_count: 1
        '401':
          description: Missing or invalid API credentials, or unavailable school account.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    oneOf:
                      - type: string
                      - type: array
                        items:
                          type: string
              example:
                error: Access denied
        '403':
          description: Community access is unavailable or the post or category is closed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    oneOf:
                      - type: string
                      - type: array
                        items:
                          type: string
              example:
                error: You do not have permission to perform this action
        '404':
          description: Record not found in your school or published categories.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    oneOf:
                      - type: string
                      - type: array
                        items:
                          type: string
              example:
                error: Record not found
        '422':
          description: Invalid parameters. No changes were saved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    oneOf:
                      - type: string
                      - type: array
                        items:
                          type: string
              example:
                error: Invalid arguments
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.