> ## 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 Conversation Groups

> Retrieves conversation groups for the required user_id. Participant filters narrow that user's history.



## OpenAPI

````yaml get /conversations/groups
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:
  /conversations/groups:
    get:
      tags:
        - Conversations
      summary: List Conversation Groups
      description: >-
        Retrieves conversation groups for the required user_id. Participant
        filters narrow that user's history.
      parameters:
        - name: user_id
          in: query
          required: true
          description: >-
            Required ID of the user whose conversation history to retrieve. The
            user must belong to your school.
          schema:
            type: string
            minLength: 1
            maxLength: 255
            pattern: \S
        - name: page
          in: query
          required: false
          description: Page number. Follow next_page until null.
          schema:
            type: integer
            minimum: 1
            maximum: 10000
            default: 1
        - name: per_page
          in: query
          required: false
          description: Maximum number of results per page.
          schema:
            type: integer
            minimum: 1
            maximum: 30
            default: 30
        - name: search
          in: query
          required: false
          description: >-
            Search title, non-deleted message content, or participant
            name/email.
          schema:
            type: string
            maxLength: 10000
        - name: member_id
          in: query
          required: false
          description: >-
            Filter the selected user's conversations by a participating member
            ID.
          schema:
            type: string
            minLength: 1
            maxLength: 255
        - name: participant_user_id
          in: query
          required: false
          description: >-
            Filter the selected user's conversations by another participating
            user ID.
          schema:
            type: string
            minLength: 1
            maxLength: 255
        - name: email
          in: query
          required: false
          description: >-
            Filter by a participant's email, ignoring case and surrounding
            spaces. No match returns no conversations. When several participant
            filters are supplied, any match is included.
          schema:
            type: string
            maxLength: 10000
        - name: filter
          in: query
          required: false
          description: >-
            Filter the selected user's conversations by unread, followed or
            archived status, or by step completion.
          schema:
            type: string
            enum:
              - unread
              - followed
              - pending_step_validation
              - validated_steps
              - archived
        - name: archived
          in: query
          required: false
          description: >-
            Use true for archived conversations only or false to exclude them.
            Can be combined with another filter. filter=archived takes
            precedence.
          schema:
            type: boolean
            default: false
        - name: sort
          in: query
          required: false
          description: >-
            Sort by latest activity by default. Matching activity dates are
            ordered by conversation ID.
          schema:
            type: string
            enum:
              - last_activity_at
              - created_at_desc
              - created_at_asc
            default: last_activity_at
      responses:
        '200':
          description: List of conversation groups.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - page
                  - next_page
                properties:
                  data:
                    type: array
                    maxItems: 30
                    items:
                      type: object
                      required:
                        - id
                        - title
                        - participants
                        - last_activity_at
                        - related_step_id
                        - last_message_preview
                        - url
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 255
                        title:
                          type: string
                        participants:
                          type: array
                          items:
                            type: object
                            required:
                              - id
                              - type
                              - name
                              - email
                              - profile_picture_url
                            properties:
                              id:
                                type: string
                                minLength: 1
                                maxLength: 255
                              type:
                                type: string
                                enum:
                                  - User
                                  - Member
                              name:
                                type: string
                              email:
                                type: string
                              profile_picture_url:
                                type: string
                                nullable: true
                        last_activity_at:
                          type: string
                          format: date-time
                          nullable: true
                        related_step_id:
                          type: string
                          minLength: 1
                          maxLength: 255
                          nullable: true
                        last_message_preview:
                          type: string
                          nullable: true
                          maxLength: 200
                        url:
                          type: string
                          description: Relative conversation path in the school.
                  page:
                    type: integer
                  next_page:
                    type: integer
                    nullable: true
              examples:
                first_page:
                  value:
                    data:
                      - id: 49f3f9bc-43b5-4a40-b2ac-ea2c8a7cb99d
                        title: Support conversation
                        participants:
                          - id: 058696d4-f2c8-472f-8c80-5e2208e9fcb1
                            type: User
                            name: Alex Smith
                            email: alex@example.com
                            profile_picture_url: null
                        last_activity_at: '2026-10-02T09:00:00Z'
                        related_step_id: null
                        last_message_preview: Thanks for your question.
                        url: >-
                          /conversations/groups/49f3f9bc-43b5-4a40-b2ac-ea2c8a7cb99d
                    page: 1
                    next_page: null
                empty_page:
                  value:
                    data: []
                    page: 2
                    next_page: null
        '401':
          description: Missing or invalid API credentials, or unavailable school account.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
              example:
                error: Access denied
        '404':
          description: User not found in your school or is not a conversation participant.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
              example:
                error: Record not found
        '422':
          description: >-
            Missing required selector, invalid parameter type, unsupported
            filter or invalid pagination.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
              example:
                error: 'Invalid arguments:  required'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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