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

# Create a Consultation Question

> Creates a consultation question as the school owner. New questions are ready, untreated and not assigned to a meeting.



## OpenAPI

````yaml post /consultations
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:
  /consultations:
    post:
      tags:
        - Consultations
      summary: Create a Consultation Question
      description: >-
        Creates a consultation question as the school owner. New questions are
        ready, untreated and not assigned to a meeting.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              anyOf:
                - type: object
                  properties:
                    title:
                      type: string
                      maxLength: 120
                      description: Question title, up to 120 characters. Cannot be blank.
                    body:
                      type: string
                      maxLength: 200000
                      description: >-
                        Question body as HTML or plain text. Cannot be empty.
                        Embedded attachments and scripts are not supported.
                    category_id:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: >-
                        Published consultation category ID. A question assigned
                        to a meeting must stay in that meeting's category.
                    tag_ids:
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 255
                      maxItems: 100
                      description: >-
                        Existing consultation tag IDs from your school. Omit to
                        keep current tags or use [] to clear them.
                  required:
                    - title
                    - body
                    - category_id
                  additionalProperties: false
                - type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        title:
                          type: string
                          maxLength: 120
                          description: >-
                            Question title, up to 120 characters. Cannot be
                            blank.
                        body:
                          type: string
                          maxLength: 200000
                          description: >-
                            Question body as HTML or plain text. Cannot be
                            empty. Embedded attachments and scripts are not
                            supported.
                        category_id:
                          type: string
                          minLength: 1
                          maxLength: 255
                          description: >-
                            Published consultation category ID. A question
                            assigned to a meeting must stay in that meeting's
                            category.
                        tag_ids:
                          type: array
                          items:
                            type: string
                            minLength: 1
                            maxLength: 255
                          maxItems: 100
                          description: >-
                            Existing consultation tag IDs from your school. Omit
                            to keep current tags or use [] to clear them.
                      required:
                        - title
                        - body
                        - category_id
                      additionalProperties: false
                  required:
                    - attributes
                  additionalProperties: false
            example:
              title: Question about lesson planning
              body: <p>Question details</p>
              category_id: CATEGORY_ID
              tag_ids:
                - TAG_ID
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                  - title
                  - category_id
                  - author_id
                  - author_type
                  - treated_at
                  - is_ready
                  - created_at
                  - body
                  - tag_ids
                properties:
                  id:
                    type: string
                  title:
                    type: string
                  category_id:
                    type: string
                  author_id:
                    type: string
                    nullable: true
                  author_type:
                    type: string
                    nullable: true
                  treated_at:
                    type: string
                    format: date-time
                    nullable: true
                  is_ready:
                    type: boolean
                  created_at:
                    type: string
                    format: date-time
                  body:
                    type: string
                    description: Question body as HTML.
                  tag_ids:
                    type: array
                    items:
                      type: string
              example:
                id: QUESTION_ID
                title: Question about lesson planning
                category_id: CATEGORY_ID
                author_id: OWNER_USER_ID
                author_type: User
                treated_at: null
                is_ready: true
                created_at: '2026-10-02T12:00:00.000Z'
                body: <div class="trix-content"><p>Question details</p></div>
                tag_ids:
                  - TAG_ID
        '401':
          description: Missing or invalid API credentials, or unavailable school account.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    oneOf:
                      - type: string
                      - type: array
                        items:
                          type: string
              example:
                error: Access denied
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    oneOf:
                      - type: string
                      - type: array
                        items:
                          type: string
              example:
                error: You do not have permission to perform this action
        '404':
          description: Missing or inaccessible record.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    oneOf:
                      - type: string
                      - type: array
                        items:
                          type: string
              example:
                error: Record not found
        '422':
          description: Invalid parameters or question details.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    oneOf:
                      - type: string
                      - type: array
                        items:
                          type: string
              example:
                error: 'Invalid arguments: /attributes/is_ready boolean'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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